System.Linq.ImmutableArrayExtensions
LINQ extension method overrides that offer greater efficiency for ImmutableArray<T> than the standard LINQ methods
NuGet package: System.Collections.Immutable (about immutable collections and how to install)
namespace System.Linq
{
public static class ImmutableArrayExtensions
{
public static IEnumerable<TResult> Select<[System.Runtime.CompilerServices.Nullable(2)] T, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this ImmutableArray<T> immutableArray, Func<T, TResult> selector);
public static IEnumerable<TResult> SelectMany<[System.Runtime.CompilerServices.Nullable(2)] TSource, [System.Runtime.CompilerServices.Nullable(2)] TCollection, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this ImmutableArray<TSource> immutableArray, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector);
public static IEnumerable<T> Where<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static bool Any<T>(this ImmutableArray<T> immutableArray);
public static bool Any<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static bool All<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static bool SequenceEqual<TDerived, [System.Runtime.CompilerServices.Nullable(2)] TBase>(this ImmutableArray<TBase> immutableArray, ImmutableArray<TDerived> items, IEqualityComparer<TBase> comparer = null) where TDerived : TBase;
public static bool SequenceEqual<[System.Runtime.CompilerServices.Nullable(0)] TDerived, [System.Runtime.CompilerServices.Nullable(2)] TBase>(this ImmutableArray<TBase> immutableArray, IEnumerable<TDerived> items, IEqualityComparer<TBase> comparer = null) where TDerived : TBase;
public static bool SequenceEqual<[System.Runtime.CompilerServices.Nullable(0)] TDerived, [System.Runtime.CompilerServices.Nullable(2)] TBase>(this ImmutableArray<TBase> immutableArray, ImmutableArray<TDerived> items, Func<TBase, TBase, bool> predicate) where TDerived : TBase;
public static T Aggregate<T>(this ImmutableArray<T> immutableArray, Func<T, T, T> func);
public static TAccumulate Aggregate<[System.Runtime.CompilerServices.Nullable(2)] TAccumulate, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, TAccumulate seed, Func<TAccumulate, T, TAccumulate> func);
public static TResult Aggregate<[System.Runtime.CompilerServices.Nullable(2)] TAccumulate, [System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, TAccumulate seed, Func<TAccumulate, T, TAccumulate> func, Func<TAccumulate, TResult> resultSelector);
public static T ElementAt<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, int index);
public static T ElementAtOrDefault<T>(this ImmutableArray<T> immutableArray, int index);
public static T First<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static T First<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray);
public static T FirstOrDefault<T>(this ImmutableArray<T> immutableArray);
public static T FirstOrDefault<T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static T Last<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray);
public static T Last<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static T LastOrDefault<T>(this ImmutableArray<T> immutableArray);
public static T LastOrDefault<T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static T Single<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray);
public static T Single<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static T SingleOrDefault<T>(this ImmutableArray<T> immutableArray);
public static T SingleOrDefault<T>(this ImmutableArray<T> immutableArray, Func<T, bool> predicate);
public static Dictionary<TKey, T> ToDictionary<TKey, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector);
public static Dictionary<TKey, TElement> ToDictionary<TKey, [System.Runtime.CompilerServices.Nullable(2)] TElement, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector, Func<T, TElement> elementSelector);
public static Dictionary<TKey, T> ToDictionary<TKey, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector, IEqualityComparer<TKey> comparer);
public static Dictionary<TKey, TElement> ToDictionary<TKey, [System.Runtime.CompilerServices.Nullable(2)] TElement, [System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector, Func<T, TElement> elementSelector, IEqualityComparer<TKey> comparer);
public static T[] ToArray<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T> immutableArray);
public static T First<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T>.Builder builder);
public static T FirstOrDefault<T>(this ImmutableArray<T>.Builder builder);
public static T Last<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T>.Builder builder);
public static T LastOrDefault<T>(this ImmutableArray<T>.Builder builder);
public static bool Any<[System.Runtime.CompilerServices.Nullable(2)] T>(this ImmutableArray<T>.Builder builder);
}
}