Class FastList<T>
- Namespace
- Stride.Core.Collections
- Assembly
- Stride.Core.dll
Similar to List<T>, with direct access to underlying array.
[DataSerializer(typeof(ListAllSerializer<,>), Mode = DataSerializerGenericMode.TypeAndGenericArguments)]
public class FastList<T> : IList<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, ICollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
TThe type of elements in the list.
- Inheritance
-
FastList<T>
- Implements
-
IList<T>ICollection<T>IEnumerable<T>
- Derived
- Extension Methods
Constructors
FastList()
public FastList()
FastList(IEnumerable<T>)
public FastList(IEnumerable<T> collection)
Parameters
collectionIEnumerable<T>
FastList(int)
public FastList(int capacity)
Parameters
capacityint
Properties
Capacity
public int Capacity { get; set; }
Property Value
Count
Gets the number of elements in the collection.
public int Count { get; }
Property Value
- int
The number of elements in the collection.
this[int]
Gets or sets the element at the specified index.
public T this[int index] { get; set; }
Parameters
indexintThe zero-based index of the element to get or set.
Property Value
- T
The element at the specified index.
Exceptions
- ArgumentOutOfRangeException
indexis not a valid index in the IList<T>.- NotSupportedException
The property is set and the IList<T> is read-only.
Items
Gets the items.
public T[] Items { get; }
Property Value
- T[]
Methods
Add(T)
Adds an item to the ICollection<T>.
public void Add(T item)
Parameters
itemTThe object to add to the ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
AddRange(IEnumerable<T>)
public void AddRange(IEnumerable<T> collection)
Parameters
collectionIEnumerable<T>
AsReadOnly()
public ReadOnlyCollection<T> AsReadOnly()
Returns
BinarySearch(int, int, T, IComparer<T>)
public int BinarySearch(int index, int count, T item, IComparer<T> comparer)
Parameters
Returns
BinarySearch(T)
public int BinarySearch(T item)
Parameters
itemT
Returns
BinarySearch(T, IComparer<T>)
public int BinarySearch(T item, IComparer<T> comparer)
Parameters
itemTcomparerIComparer<T>
Returns
Clear()
Removes all items from the ICollection<T>.
public void Clear()
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
Clear(bool)
Clears this list with a fast-clear option.
public void Clear(bool fastClear)
Parameters
fastClearboolif set to
truethis method only resets the count elements but doesn't clear items referenced already stored in the list.
Contains(T)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(T item)
Parameters
itemTThe object to locate in the ICollection<T>.
Returns
- bool
true if
itemis found in the ICollection<T>; otherwise, false.
CopyTo(int, T[], int, int)
public void CopyTo(int index, T[] array, int arrayIndex, int count)
Parameters
CopyTo(T[])
public void CopyTo(T[] array)
Parameters
arrayT[]
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.
arrayIndexintThe 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 destinationarray.
EnsureCapacity(int)
public void EnsureCapacity(int min)
Parameters
minint
Exists(Predicate<T>)
public bool Exists(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
Find(Predicate<T>)
public T Find(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
- T
FindAll(Predicate<T>)
public FastList<T> FindAll(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
- FastList<T>
FindIndex(int, int, Predicate<T>)
public int FindIndex(int startIndex, int count, Predicate<T> match)
Parameters
Returns
FindIndex(int, Predicate<T>)
public int FindIndex(int startIndex, Predicate<T> match)
Parameters
Returns
FindIndex(Predicate<T>)
public int FindIndex(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
FindLast(Predicate<T>)
public T FindLast(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
- T
FindLastIndex(int, int, Predicate<T>)
public int FindLastIndex(int startIndex, int count, Predicate<T> match)
Parameters
Returns
FindLastIndex(int, Predicate<T>)
public int FindLastIndex(int startIndex, Predicate<T> match)
Parameters
Returns
FindLastIndex(Predicate<T>)
public int FindLastIndex(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
ForEach(Action<T>)
public void ForEach(Action<T> action)
Parameters
actionAction<T>
GetEnumerator()
public FastList<T>.Enumerator GetEnumerator()
Returns
GetRange(int, int)
public FastList<T> GetRange(int index, int count)
Parameters
Returns
- FastList<T>
IncreaseCapacity(int)
public void IncreaseCapacity(int index)
Parameters
indexint
IndexOf(T)
Determines the index of a specific item in the IList<T>.
public int IndexOf(T item)
Parameters
itemTThe object to locate in the IList<T>.
Returns
- int
The index of
itemif found in the list; otherwise, -1.
IndexOf(T, int)
public int IndexOf(T item, int index)
Parameters
itemTindexint
Returns
IndexOf(T, int, int)
public int IndexOf(T item, int index, int count)
Parameters
Returns
Insert(int, T)
Inserts an item to the IList<T> at the specified index.
public void Insert(int index, T item)
Parameters
indexintThe zero-based index at which
itemshould be inserted.itemTThe object to insert into the IList<T>.
Exceptions
- ArgumentOutOfRangeException
indexis not a valid index in the IList<T>.- NotSupportedException
The IList<T> is read-only.
InsertRange(int, IEnumerable<T>)
public void InsertRange(int index, IEnumerable<T> collection)
Parameters
indexintcollectionIEnumerable<T>
LastIndexOf(T)
public int LastIndexOf(T item)
Parameters
itemT
Returns
LastIndexOf(T, int)
public int LastIndexOf(T item, int index)
Parameters
itemTindexint
Returns
LastIndexOf(T, int, int)
public int LastIndexOf(T item, int index, int count)
Parameters
Returns
Remove(T)
Removes the first occurrence of a specific object from the ICollection<T>.
public bool Remove(T item)
Parameters
itemTThe 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 ifitemis not found in the original ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
RemoveAll(Predicate<T>)
public int RemoveAll(Predicate<T> match)
Parameters
matchPredicate<T>
Returns
RemoveAt(int)
Removes the IList<T> item at the specified index.
public void RemoveAt(int index)
Parameters
indexintThe zero-based index of the item to remove.
Exceptions
- ArgumentOutOfRangeException
indexis not a valid index in the IList<T>.- NotSupportedException
The IList<T> is read-only.
RemoveRange(int, int)
public void RemoveRange(int index, int count)
Parameters
Resize(int, bool)
public void Resize(int newSize, bool fastClear)
Parameters
Reverse()
public void Reverse()
Reverse(int, int)
public void Reverse(int index, int count)
Parameters
Sort()
public void Sort()
Sort(IComparer<T>)
public void Sort(IComparer<T> comparer)
Parameters
comparerIComparer<T>
Sort(int, int, IComparer<T>)
public void Sort(int index, int count, IComparer<T> comparer)
Parameters
ToArray()
public T[] ToArray()
Returns
- T[]
TrimExcess()
public void TrimExcess()
TrueForAll(Predicate<T>)
public bool TrueForAll(Predicate<T> match)
Parameters
matchPredicate<T>