<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" />

Org.BouncyCastle.Utilities.Collections.CollectionUtilities

public abstract class CollectionUtilities
namespace Org.BouncyCastle.Utilities.Collections { public abstract class CollectionUtilities { public static void CollectMatches<T>(ICollection<T> matches, ISelector<T> selector, IEnumerable<IStore<T>> stores); public static IStore<T> CreateStore<T>(IEnumerable<T> contents); public static T GetFirstOrNull<T>(IEnumerable<T> e) where T : class; public static T GetValueOrKey<T>(IDictionary<T, T> d, T k); public static V GetValueOrNull<K, V>(IDictionary<K, V> d, K k) where V : class; public static IEnumerable<T> Proxy<T>(IEnumerable<T> e); public static ICollection<T> ReadOnly<T>(ICollection<T> c); public static IDictionary<K, V> ReadOnly<K, V>(IDictionary<K, V> d); public static IList<T> ReadOnly<T>(IList<T> l); public static ISet<T> ReadOnly<T>(ISet<T> s); public static bool Remove<K, V>(IDictionary<K, V> d, K k, out V v); public static T RequireNext<T>(IEnumerator<T> e); public static string ToString<T>(IEnumerable<T> c); protected CollectionUtilities(); } }