# SimpleImmutableList<T> class

Namespace: [GrasshopperIO.DataBase](https://developer.rhino3d.com/api/gh2/namespace/grasshopperio.database.md) · Assembly: [GrasshopperIO](https://developer.rhino3d.com/api/gh2/assembly/grasshopperio.md)

```cs
public sealed class SimpleImmutableList<T>
```

A cheap and quick immutable list optimised for the most common use case in GrasshopperIO. Adding and indexing values is fast, removing values is slow, as is adding values to a list which in the past already had values added to it.

**Type parameters:**

- `T`

## Constructors

- [SimpleImmutableList<T>](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/ctor.md)

## Properties

- [Backwards](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/backwards.md): Iterate over all elements from the highest to the lowest index.
- [Count](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/count.md): Gets the number of items in this list.
- [Forwards](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/forwards.md): Iterate over all elements from the lowest to the highest index.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/item.md): Gets the indexed item.

## Methods

- [Add](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/add.md): Add an item to this list.
- [AddRange](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/addrange.md): Add a collection of items to this list.
- [RemoveAt](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/removeat.md): Remove an indexed element from this list.
- [SetItem](https://developer.rhino3d.com/api/gh2/type/grasshopperio.database.simpleimmutablelist-1/setitem.md): Overwrite an element in this list.
