System.Collections.Immutable.ImmutableList
namespace System.Collections.Immutable
{
public static class ImmutableList
{
public static ImmutableList<T> Create<T>();
public static ImmutableList<T> Create<T>(T item);
public static ImmutableList<T> CreateRange<T>(IEnumerable<T> items);
public static ImmutableList<T> Create<T>(params T[] items);
public static ImmutableList<T>.Builder CreateBuilder<T>();
public static ImmutableList<TSource> ToImmutableList<TSource>(this IEnumerable<TSource> source);
public static IImmutableList<T> Replace<T>(this IImmutableList<T> list, T oldValue, T newValue);
public static IImmutableList<T> Remove<T>(this IImmutableList<T> list, T value);
public static IImmutableList<T> RemoveRange<T>(this IImmutableList<T> list, IEnumerable<T> items);
public static int IndexOf<T>(this IImmutableList<T> list, T item);
public static int IndexOf<T>(this IImmutableList<T> list, T item, IEqualityComparer<T> equalityComparer);
public static int IndexOf<T>(this IImmutableList<T> list, T item, int startIndex);
public static int IndexOf<T>(this IImmutableList<T> list, T item, int startIndex, int count);
public static int LastIndexOf<T>(this IImmutableList<T> list, T item);
public static int LastIndexOf<T>(this IImmutableList<T> list, T item, IEqualityComparer<T> equalityComparer);
public static int LastIndexOf<T>(this IImmutableList<T> list, T item, int startIndex);
public static int LastIndexOf<T>(this IImmutableList<T> list, T item, int startIndex, int count);
}
}