Found 23 packages
The System.Collections namespace in the .NET Framework provides a number of collection types that are extremely useful for manipulating data in memory. However, some specialized implementations of ISet are not available. Iesi.Collections 4.0 for .Net 4.0 contains the LinkedHashSet (preserves insertion order), the ReadOnlySet and the SynchronizedSet. The latter two wrap an actual set.
A collection of extension methods for better string representations (e.g. IEnumerable and specializations for IList, ISet and IDictionary, TimeSpan).
ISetEx and base class implementation, builds on ISet
Extensions to transform IEnumerable into other generic collection types, including async versions.
Implementation of common .NET collection types (i.e IDictionary, ISet, IList) via abstraction over StackExchange.Redis
A set of useful and powerful collection classes.
Utility for filling objects with data. Supports: Primitive Types, Arrays, IEnumerable<>, IList<>, ICollection<>, ISet<>, IDictionary<>, List<>, HashedSet<>, Dictionary<> and hopefully most of user custom classes
Generic IList and ISet implementations that implement INotifyCollectionChanged and IBindinList
Provides a Set Collection implementation.
Provides a Set Collection implementation.
Simple AVPlayer wrapper (ported from Objective-C JustPlayer)
LinksPlatform's Platform.Interfaces Class Library
Implementation of common .NET collection types (i.e IDictionary, ISet, IList) via abstraction over StackExchange.Redis. Forked for .NET Core
Provides contract checkers for different common interfaces. Ensure that interface is really well implemented. Provides: CollectionChecker (for ICollection) EnumerableChecker (for IEnumerable) EquatableChecker (for IEquatable) SetChecker (for ISet) HashSetChecker (for IHashSet) IShallowCloneableChecker (for IShallowCloneable)
Why is it that the List is so widely used, even when there is absolutly no need for the features of a List? I think one of the most important reasons is it beeing so easily available. You could simply use the extension method .ToList() on any IEnumerable. To help out in this matter, and hopefully help you use other (more suitable) generic collection types, I've created this package. It contains extension methods for IEnumerable to convert it to: Basic classes: - Stack - Queue - HashSet Interfaces: - ICollection - IEnumerable - ICollection - IList - ISet - IDictionary Concurrent classes: - ConcurrentBag - ConcurrentQueue - ConcurrentStack - ConcurrentDictionary
The package "Hafner.Tools.Settable" (formerly "Hafner.Tools.SetTracker") provides a tiny helper type of the same name that can be used to differentiate between whether a parameter/property was set to null or was not set at all. Useful for filters (null not set = do not apply any filter for that property, null set = return all records that have null in that column) or UpdateRecord methods (null not set = don't touch that value, null set = change the value to null) etc. Also helpful in data transfer objects (DTOs) that are declared with nullable reference types enabled.
Common logic for a generic way of accessing settings regardless of the platform and settings source that is being used
The package "Hafner.Tools.Settable.Dapper" is a Dapper extension to handle conversions from Dapper to Settable<T> correctly. There are two functionally identical methods that may be called: Either you invoke the extension method that appears on the connection (IDbConnection) like this before every call of a dapper extension method (preferred if you don't have an application's entry point e.g. because it's a library): connection.EnsureSettableConvertersLoaded(); or you call method once when the application is starting up (multiple calls are ignored and do not affect performance negatively): SettableExtensionForDapper.LoadConverters();
This library contains an extensible framework for persistent and augmentable binary trees. Out of the box, it provides AVL and weight-balanced trees, adapters to standard collection interfaces (IReadOnlyList, ISet, IReadOnlySet, IDictionary), and indexed access to elements in sort order. By using a novel(?) persistence strategy, it achieves much better performance than standard immutable collections, and only slightly worse than standard SortedSet. The library also provides a tree iterator, which allows non-recursive tree traversal, as well as traversing only a part of the tree. Introductory and API documentation is available at https://zvrba.github.io/Podaga/html/e165bf08-271a-48ee-a361-c437960f8c68.htm
Provides access to Azure Key Vault Secrets using a Dictionary interface compatible with CCLLC.Core.ISettingProvider.