public static TSource ElementAtOrDefault <TSource>(this List <TSource> source, int index) => ReadOnlyList.ElementAtOrDefault <List <TSource>, TSource>(source, index);
public static ReadOnlyList.SelectEnumerable <List <TSource>, List <TSource> .Enumerator, TSource, TResult> Select <TSource, TResult>( this List <TSource> source, Func <TSource, TResult> selector) => ReadOnlyList.Select <List <TSource>, List <TSource> .Enumerator, TSource, TResult>(source, selector);
public static ReadOnlyList.AsValueReadOnlyListEnumerable <List <TSource>, List <TSource> .Enumerator, TSource> AsValueReadOnlyList <TSource>(this List <TSource> source) => ReadOnlyList.AsValueReadOnlyList <List <TSource>, List <TSource> .Enumerator, TSource>(source);
public static Option <TSource> First <TSource>(this ImmutableList <TSource> source) => ReadOnlyList.First <ImmutableList <TSource>, TSource>(source);
public static ReadOnlyList.DistinctEnumerable <ImmutableList <TSource>, TSource> Distinct <TSource>(this ImmutableList <TSource> source, IEqualityComparer <TSource>?comparer = null) => ReadOnlyList.Distinct <ImmutableList <TSource>, TSource>(source, comparer);
public static ReadOnlyList.SelectIndexEnumerable <ImmutableList <TSource>, TSource, TResult> Select <TSource, TResult>( this ImmutableList <TSource> source, SelectorAt <TSource, TResult> selector) => ReadOnlyList.Select <ImmutableList <TSource>, TSource, TResult>(source, selector);
public static ReadOnlyList.WhereIndexEnumerable <ImmutableList <TSource>, TSource> Where <TSource>( this ImmutableList <TSource> source, PredicateAt <TSource> predicate) => ReadOnlyList.Where <ImmutableList <TSource>, TSource>(source, predicate);
public static ReadOnlyList.SkipTakeEnumerable <List <TSource>, TSource> Skip <TSource>(this List <TSource> source, int count) => ReadOnlyList.Skip <List <TSource>, TSource>(source, count);
public static bool Any <TSource>(this List <TSource> source, Predicate <TSource> predicate) => ReadOnlyList.Any <List <TSource>, TSource>(source, predicate);
public static Dictionary <TKey, TSource> ToDictionary <TSource, TKey>(this List <TSource> source, Selector <TSource, TKey> keySelector, IEqualityComparer <TKey>?comparer) => ReadOnlyList.ToDictionary <List <TSource>, TSource, TKey>(source, keySelector, comparer);
public static Dictionary <TKey, TElement> ToDictionary <TSource, TKey, TElement>(this List <TSource> source, Selector <TSource, TKey> keySelector, Selector <TSource, TElement> elementSelector) => ReadOnlyList.ToDictionary <List <TSource>, TSource, TKey, TElement>(source, keySelector, elementSelector);
public static ReadOnlyList.WhereEnumerable <ImmutableArray <TSource>, TSource> WhereHyper <TSource>( this ImmutableArray <TSource> source, Predicate <TSource> predicate) => ReadOnlyList.Where <ImmutableArray <TSource>, TSource>(source, predicate);
public static ReadOnlyList.SelectEnumerable <ImmutableArray <TSource>, TSource, TResult> SelectHyper <TSource, TResult>( this ImmutableArray <TSource> source, Selector <TSource, TResult> selector) => ReadOnlyList.Select <ImmutableArray <TSource>, TSource, TResult>(source, selector);
public static Maybe <TSource> TryElementAt <TSource>(this List <TSource> source, int index) => ReadOnlyList.TryElementAt <List <TSource>, TSource>(source, index);
public static bool Any <TSource>(this ImmutableList <TSource> source, PredicateAt <TSource> predicate) => ReadOnlyList.Any <ImmutableList <TSource>, TSource>(source, predicate);
public static ReadOnlyList.WhereEnumerable <List <TSource>, TSource> Where <TSource>( this List <TSource> source, Predicate <TSource> predicate) => ReadOnlyList.Where <List <TSource>, TSource>(source, predicate);
public static bool Contains <TSource>(this ImmutableList <TSource> source, TSource value, IEqualityComparer <TSource>?comparer) => ReadOnlyList.Contains <ImmutableList <TSource>, TSource>(source, value, comparer);
public static Option <TSource> First <TSource>(this List <TSource> source) => ReadOnlyList.First <List <TSource>, TSource>(source);
public static ReadOnlyList.SelectManyEnumerable <ImmutableList <TSource>, TSource, TSubEnumerable, TSubEnumerator, TResult> SelectMany <TSource, TSubEnumerable, TSubEnumerator, TResult>( this ImmutableList <TSource> source, Selector <TSource, TSubEnumerable> selector) where TSubEnumerable : notnull, IValueEnumerable <TResult, TSubEnumerator> where TSubEnumerator : struct, IEnumerator <TResult> => ReadOnlyList.SelectMany <ImmutableList <TSource>, TSource, TSubEnumerable, TSubEnumerator, TResult>(source, selector);
public static Option <TSource> Single <TSource>(this List <TSource> source) => ReadOnlyList.Single <List <TSource>, TSource>(source);
public static Option <TSource> ElementAt <TSource>(this ImmutableList <TSource> source, int index) => ReadOnlyList.ElementAt <ImmutableList <TSource>, TSource>(source, index);
public static TSource[] ToArray <TSource>(this ImmutableList <TSource> source) => ReadOnlyList.ToArray <ImmutableList <TSource>, TSource>(source);
public static Option <TSource> Single <TSource>(this ImmutableList <TSource> source) => ReadOnlyList.Single <ImmutableList <TSource>, TSource>(source);
public static Dictionary <TKey, TSource> ToDictionary <TSource, TKey>(this ImmutableList <TSource> source, Selector <TSource, TKey> keySelector) => ReadOnlyList.ToDictionary <ImmutableList <TSource>, TSource, TKey>(source, keySelector);
public static int Count <TSource>(this List <TSource> source, Func <TSource, bool> predicate) => ReadOnlyList.Count <List <TSource>, List <TSource> .Enumerator, TSource>(source, predicate);
public static Dictionary <TKey, TElement> ToDictionary <TSource, TKey, TElement>(this ImmutableList <TSource> source, Selector <TSource, TKey> keySelector, Selector <TSource, TElement> elementSelector, IEqualityComparer <TKey>?comparer) => ReadOnlyList.ToDictionary <ImmutableList <TSource>, TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
public static ReadOnlyList.WhereEnumerable <List <TSource>, List <TSource> .Enumerator, TSource> Where <TSource>( this List <TSource> source, Func <TSource, bool> predicate) => ReadOnlyList.Where <List <TSource>, List <TSource> .Enumerator, TSource>(source, predicate);
public static ReadOnlyList.SkipTakeEnumerable <ImmutableList <TSource>, TSource> Take <TSource>(this ImmutableList <TSource> source, int count) => ReadOnlyList.Take <ImmutableList <TSource>, TSource>(source, count);
public static TSource[] ToArray <TSource>(this List <TSource> source) => ReadOnlyList.ToArray <List <TSource>, List <TSource> .Enumerator, TSource>(source);
public static void ForEach <TSource>(this List <TSource> source, ActionAt <TSource> action) => ReadOnlyList.ForEach <List <TSource>, TSource>(source, action);