Additional collections types and extensions.
-
AhoCorasickTrie - A trie that will find strings or phrases and return values of type
TData
for each string or phrase found. Type paramTData
is the type of the data returned when a match is found. -
ConcurrentSet - A set based on
System.Collections.Concurrent.ConcurrentDictionary
-
Deque - A generic double-ended queue class based of the work of Tom Jacques
-
DynamicDictionaryBase - A base class that supports the ability to easily create dynamic dictionaries with specific value types
-
LinkedDictionary - A dictionary comprised of a stack of dictionaries this allows pushing and popping scopes
-
OrderedDictionary - A dictionary that preserves insertion order for enumerations
-
OrderedSet - A set using on
System.Collections.ObjectModel.KeyedCollection
var linked = new LinkedDictionary<string, string>();
// push an initial set of keys
linked.Push( new Dictionary<string, string>
{
["first"] = "default_first",
["last"] = "default_last",
["suffix"] = "",
} );
linked.Push( new Dictionary<string, string>
{
["first"] = "Tim", // new scope masks original values
["last"] = "Jones", // new scope masks original values
["address"] = "123 Main St." // New key
} );
- To build and run this project, .NET 8 SDK is required.
- Ensure your development tools are compatible with .NET 8.
- With .NET 8 SDK installed, you can build the project using the standard
dotnet build
command.
- Run tests using the
dotnet test
command as usual.
Branch | Action |
---|---|
develop |
|
main |
See Benchmarks
See Todo