System.Collections.Immutable.ImmutableList<T>
public sealed class ImmutableList<T> : IImmutableList<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, IList<T>, ICollection<T>, IList, ICollection, IOrderedCollection<T>, IImmutableListQueries<T>, IStrongEnumerable<T, Enumerator<T>>
namespace System.Collections.Immutable
{
public sealed class ImmutableList<T> : IImmutableList<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, IList<T>, ICollection<T>, IList, ICollection, IOrderedCollection<T>, IImmutableListQueries<T>, IStrongEnumerable<T, ImmutableList<T>.Enumerator>
{
public sealed class Builder : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IList, ICollection, IOrderedCollection<T>, IImmutableListQueries<T>, IReadOnlyList<T>, IReadOnlyCollection<T>
{
public int Count { get; }
public T this[int index] { get; set; }
T IOrderedCollection<T>.this[int index] { get; }
object IList.this[int index] { get; set; }
public int IndexOf(T item);
public void Insert(int index, T item);
public void RemoveAt(int index);
public void Add(T item);
public void Clear();
public bool Contains(T item);
public bool Remove(T item);
public Enumerator GetEnumerator();
public void ForEach(Action<T> action);
public void CopyTo(T[] array);
public void CopyTo(T[] array, int arrayIndex);
public void CopyTo(int index, T[] array, int arrayIndex, int count);
public ImmutableList<T> GetRange(int index, int count);
public ImmutableList<TOutput> ConvertAll<TOutput>(Func<T, TOutput> converter);
public bool Exists(Predicate<T> match);
public T Find(Predicate<T> match);
public ImmutableList<T> FindAll(Predicate<T> match);
public int FindIndex(Predicate<T> match);
public int FindIndex(int startIndex, Predicate<T> match);
public int FindIndex(int startIndex, int count, Predicate<T> match);
public T FindLast(Predicate<T> match);
public int FindLastIndex(Predicate<T> match);
public int FindLastIndex(int startIndex, Predicate<T> match);
public int FindLastIndex(int startIndex, int count, Predicate<T> match);
public int IndexOf(T item, int index);
public int IndexOf(T item, int index, int count);
public int IndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer);
public int LastIndexOf(T item);
public int LastIndexOf(T item, int startIndex);
public int LastIndexOf(T item, int startIndex, int count);
public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T> equalityComparer);
public bool TrueForAll(Predicate<T> match);
public void AddRange(IEnumerable<T> items);
public void InsertRange(int index, IEnumerable<T> items);
public int RemoveAll(Predicate<T> match);
public void Reverse();
public void Reverse(int index, int count);
public void Sort();
public void Sort(Comparison<T> comparison);
public void Sort(IComparer<T> comparer);
public void Sort(int index, int count, IComparer<T> comparer);
public int BinarySearch(T item);
public int BinarySearch(T item, IComparer<T> comparer);
public int BinarySearch(int index, int count, T item, IComparer<T> comparer);
public ImmutableList<T> ToImmutable();
}
public struct Enumerator : IEnumerator<T>, IEnumerator, IDisposable, ISecurePooledObjectUser, IStrongEnumerator<T>
{
public T Current { get; }
public void Dispose();
public bool MoveNext();
public void Reset();
}
public static readonly ImmutableList<T> Empty;
public bool IsEmpty { get; }
public int Count { get; }
public T this[int index] { get; }
T IOrderedCollection<T>.this[int index] { get; }
T IList<T>.this[int index] { get; set; }
object IList.this[int index] { get; set; }
public ImmutableList<T> Clear();
public int BinarySearch(T item);
public int BinarySearch(T item, IComparer<T> comparer);
public int BinarySearch(int index, int count, T item, IComparer<T> comparer);
public Builder ToBuilder();
public ImmutableList<T> Add(T value);
public ImmutableList<T> AddRange(IEnumerable<T> items);
public ImmutableList<T> Insert(int index, T item);
public ImmutableList<T> InsertRange(int index, IEnumerable<T> items);
public ImmutableList<T> Remove(T value);
public ImmutableList<T> Remove(T value, IEqualityComparer<T> equalityComparer);
public ImmutableList<T> RemoveRange(int index, int count);
public ImmutableList<T> RemoveRange(IEnumerable<T> items);
public ImmutableList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T> equalityComparer);
public ImmutableList<T> RemoveAt(int index);
public ImmutableList<T> RemoveAll(Predicate<T> match);
public ImmutableList<T> SetItem(int index, T value);
public ImmutableList<T> Replace(T oldValue, T newValue);
public ImmutableList<T> Replace(T oldValue, T newValue, IEqualityComparer<T> equalityComparer);
public ImmutableList<T> Reverse();
public ImmutableList<T> Reverse(int index, int count);
public ImmutableList<T> Sort();
public ImmutableList<T> Sort(Comparison<T> comparison);
public ImmutableList<T> Sort(IComparer<T> comparer);
public ImmutableList<T> Sort(int index, int count, IComparer<T> comparer);
public void ForEach(Action<T> action);
public void CopyTo(T[] array);
public void CopyTo(T[] array, int arrayIndex);
public void CopyTo(int index, T[] array, int arrayIndex, int count);
public ImmutableList<T> GetRange(int index, int count);
public ImmutableList<TOutput> ConvertAll<TOutput>(Func<T, TOutput> converter);
public bool Exists(Predicate<T> match);
public T Find(Predicate<T> match);
public ImmutableList<T> FindAll(Predicate<T> match);
public int FindIndex(Predicate<T> match);
public int FindIndex(int startIndex, Predicate<T> match);
public int FindIndex(int startIndex, int count, Predicate<T> match);
public T FindLast(Predicate<T> match);
public int FindLastIndex(Predicate<T> match);
public int FindLastIndex(int startIndex, Predicate<T> match);
public int FindLastIndex(int startIndex, int count, Predicate<T> match);
public int IndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer);
public int LastIndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer);
public bool TrueForAll(Predicate<T> match);
public bool Contains(T value);
public int IndexOf(T value);
public Enumerator GetEnumerator();
}
}