Class PooledList<T>
A version of List<T> which uses an array pool.
For efficiency, PooledList<T> is implemented as a mutable struct. It's intended to be passed by reference.
Inheritance
- Object
 - PooledList<T>
 
Implements
- IDisposable
 - IList<T>
 - ICollection<T>
 - IEnumerable<T>
 - IEnumerable
 
Declaration
public sealed class PooledList<T> : ValueType
            Type Parameters
| Name | Description | 
|---|---|
T  | 
                            The type of elements of the list  | 
                        
Constructors
PooledList(ArrayPool<T>)
Creates a PooledList<T> which uses the supplied ArrayPool<T>.
Declaration
public PooledList(ArrayPool<T> arrayPool)
                        Parameters
| Type | Name | Description | 
|---|---|---|
ArrayPool<T>  | 
                                    arrayPool  | 
                                    
Properties
Count
The number of elements in the list
Declaration
public int Count { get; }
        
        
        
        
                        Property Value
| Type | Description | 
|---|---|
The number of elements in the list  | 
                                
IsReadOnly
Returns false
Declaration
public bool IsReadOnly { get; }
        
        
        
        
                        Property Value
| Type | Description | 
|---|---|
False  | 
                                
Item[Int32]
Gets or sets the element at index index.
Declaration
public T this[int index] { get; set; }
                        Parameters
| Type | Name | Description | 
|---|---|---|
index  | 
                                    The index  | 
                                
Property Value
| Type | Description | 
|---|---|
T  | 
                                    The element at index   | 
                                
Methods
Add(T)
Adds an item to the end of the list.
Declaration
public void Add(T item)
                        Parameters
| Type | Name | Description | 
|---|---|---|
T  | 
                                    item  | 
                                    The item to add  | 
                                
AddRange(ICollection<T>)
Adds a collection of items to the end of the list.
Declaration
public void AddRange(ICollection<T> items)
                        Parameters
| Type | Name | Description | 
|---|---|---|
ICollection<T>  | 
                                    items  | 
                                    The items to add  | 
                                
AddRange(IEnumerable<T>)
Adds a collection of items to the end of the list.
Declaration
public void AddRange(IEnumerable<T> items)
                        Parameters
| Type | Name | Description | 
|---|---|---|
IEnumerable<T>  | 
                                    items  | 
                                    The items to add  | 
                                
AddRange(ImmutableArray<T>)
Adds a collection of items to the end of the list.
Declaration
public void AddRange(ImmutableArray<T> items)
                        Parameters
| Type | Name | Description | 
|---|---|---|
items  | 
                                    The items to add  | 
                                
AddRange(ReadOnlySpan<T>)
Adds a collection of items to the end of the list.
Declaration
public void AddRange(ReadOnlySpan<T> items)
                        Parameters
| Type | Name | Description | 
|---|---|---|
ReadOnlySpan<T>  | 
                                    items  | 
                                    The items to add  | 
                                
AsSpan()
Returns a Span<T> view of the list.
Declaration
public Span<T> AsSpan()
        
                        Returns
| Type | Description | 
|---|---|
Span<T>  | 
                                    A Span<T> view of the list.  | 
                                
Clear()
Empties the list.
Declaration
public void Clear()
        
        
        
        
        
        
        
        
                        
        
                
                
                Contains(T)
Searches for item in the list.
Declaration
public bool Contains(T item)
                        Parameters
| Type | Name | Description | 
|---|---|---|
T  | 
                                    item  | 
                                    The item to search for.  | 
                                
Returns
| Type | Description | 
|---|---|
True if the item is in the list, false if it is not.  | 
                                
CopyTo(T[], Int32)
Copies the list into an array.
Declaration
public void CopyTo(T[] array, int arrayIndex)
                        Parameters
| Type | Name | Description | 
|---|---|---|
T[]  | 
                                    array  | 
                                    The destination array to copy the list into.  | 
                                
arrayIndex  | 
                                    The starting index in the destination array.  | 
                                
Exceptions
| Type | Condition | 
|---|---|
  | 
                            |
  | 
                            |
There was not enough space in the   | 
                            
Dispose()
Returns any allocated memory to the pool.
Declaration
public void Dispose()
        
        
        
        
        
        
        
        
                        
        
                
                
                IndexOf(T)
Searches for item in the list and returns its index.
Returns -1 if the item is missing.
Declaration
public int IndexOf(T item)
                        Parameters
| Type | Name | Description | 
|---|---|---|
T  | 
                                    item  | 
                                    The item to search for.  | 
                                
Returns
| Type | Description | 
|---|---|
The index of   | 
                                
Insert(Int32, T)
Inserts item into the list at index.
Declaration
public void Insert(int index, T item)
                        Parameters
| Type | Name | Description | 
|---|---|---|
index  | 
                                    The index at which to insert the item.  | 
                                |
T  | 
                                    item  | 
                                    The item to insert.  | 
                                
Exceptions
| Type | Condition | 
|---|---|
The index is outside the bounds of the list.  | 
                            
Pop()
Removes and returns an item from the end of the list.
Declaration
public T Pop()
        
                        Returns
| Type | Description | 
|---|---|
T  | 
                                    The last item in the list.  | 
                                
Exceptions
| Type | Condition | 
|---|---|
The list is empty.  | 
                            
Remove(T)
Searches for item in the list and removes it.
Returns false if the item is missing.
Declaration
public bool Remove(T item)
                        Parameters
| Type | Name | Description | 
|---|---|---|
T  | 
                                    item  | 
                                    The item to search for.  | 
                                
Returns
| Type | Description | 
|---|---|
True if the item was removed, false if it was missing.  | 
                                
RemoveAt(Int32)
Removes the item at index.
Declaration
public void RemoveAt(int index)
                        Parameters
| Type | Name | Description | 
|---|---|---|
index  | 
                                    The index from which to remove the item.  | 
                                
Exceptions
| Type | Condition | 
|---|---|
The index is outside the bounds of the list.  |