Class OrderedCollection<T>
- Namespace
- Stride.Core.Collections
- Assembly
- Stride.Core.dll
A collection that maintains the order of the elements and lightter implementation of Collection<T> with value types enumerators to avoid allocation in foreach loops, and various helper functions.
[DataSerializer(typeof(ListAllSerializer<,>), Mode = DataSerializerGenericMode.TypeAndGenericArguments)]
public class OrderedCollection<T> : ICollection<T>, IEnumerable<T>, IEnumerableType Parameters
- T
- Type of elements of this collection 
- Inheritance
- 
      objectOrderedCollection<T>
- Implements
- 
      ICollection<T>IEnumerable<T>
- Derived
- Extension Methods
Constructors
OrderedCollection(IComparer<T>)
Initializes a new instance of the OrderedCollection<T> class.
public OrderedCollection(IComparer<T> comparer)Parameters
- comparerIComparer<T>
- The comparer providing information about order between elements. 
Exceptions
- ArgumentNullException
- If comparer is null 
OrderedCollection(IComparer<T>, int)
Initializes a new instance of the OrderedCollection<T> class with a default capacity.
public OrderedCollection(IComparer<T> comparer, int capacity)Parameters
Properties
Capacity
public int Capacity { get; set; }Property Value
Count
Gets the number of elements contained in the ICollection<T>.
public int Count { get; }Property Value
- int
- The number of elements contained in the ICollection<T>. 
IsReadOnly
Gets a value indicating whether the ICollection<T> is read-only.
public bool IsReadOnly { get; }Property Value
- bool
- true if the ICollection<T> is read-only; otherwise, false. 
this[int]
Gets the element T at the specified index.
public T this[int index] { get; }Parameters
- indexint
- The index. 
Property Value
- T
- The element at the specified index 
Exceptions
- ArgumentOutOfRangeException
- If index is out of range 
Methods
Add(T)
Adds an item to the ICollection<T>.
public void Add(T item)Parameters
- itemT
- The object to add to the ICollection<T>. 
Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
AddItem(T)
Adds an item to this collection. Can be overriden.
protected virtual void AddItem(T item)Parameters
- itemT
- The item. 
AddRange<TE>(TE)
Adds the elements of the specified source to the end of FastCollection<T>.
public void AddRange<TE>(TE itemsArgs) where TE : IEnumerable<T>Parameters
- itemsArgsTE
- The items to add to this collection. 
Type Parameters
- TE
Clear()
Removes all items from the ICollection<T>.
public void Clear()Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
ClearItems()
Clears all the items in this collection. Can be overriden.
protected virtual void ClearItems()Contains(T)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(T item)Parameters
- itemT
- The object to locate in the ICollection<T>. 
Returns
- bool
- true if - itemis found in the ICollection<T>; otherwise, false.
CopyTo(T[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
public void CopyTo(T[] array, int arrayIndex)Parameters
- arrayT[]
- The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing. 
- arrayIndexint
- The zero-based index in - arrayat which copying begins.
Exceptions
- ArgumentNullException
- arrayis null.
- ArgumentOutOfRangeException
- arrayIndexis less than 0.
- ArgumentException
- The number of elements in the source ICollection<T> is greater than the available space from - arrayIndexto the end of the destination- array.
EnsureCapacity(int)
public void EnsureCapacity(int min)Parameters
- minint
GetEnumerator()
Inline Enumerator used directly by foreach.
public OrderedCollection<T>.Enumerator GetEnumerator()Returns
- OrderedCollection<T>.Enumerator
- An enumerator of this collection 
IndexOf(T)
public int IndexOf(T item)Parameters
- itemT
Returns
RemoteItem(int)
protected virtual void RemoteItem(int index)Parameters
- indexint
Remove(T)
Removes the first occurrence of a specific object from the ICollection<T>.
public bool Remove(T item)Parameters
- itemT
- The object to remove from the ICollection<T>. 
Returns
- bool
- true if - itemwas successfully removed from the ICollection<T>; otherwise, false. This method also returns false if- itemis not found in the original ICollection<T>.
Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
RemoveAt(int)
public void RemoveAt(int index)Parameters
- indexint