C# Toolkit™ Library Overview

Our C# Toolkit is a library of advanced collections, algorithms, functions and predicates that are designed to complement the basic features found in the .NET Framework 2.0. For the first time, Recursion is offering this product free for download.

C# Toolkit™ Library Contents

Namespaces

C# Toolkit™ includes six C# namespaces; each carefully designed to include a set of related functionality. This makes C# Toolkit easy to learn and fast to distribute in dll file format.

Namespace Contents
RecursionSW.Rdk Interfaces, collection classes, and iterators
RecursionSW.Rdk.Adapters C#-native array adapters
RecursionSW.Rdk.Algorithms All C# Toolkit algorithms
RecursionSW.Rdk.Functions Function objects that can be used to modify algorithms
RecursionSW.Rdk.Predicates Predicate classes used to affect element ordering within containers
RecursionSW.Rdk.Util A few miscellaneous utility classes, such as insertion enumeration

Data Structures

C# Toolkit includes 14 optimized data structures that satisfy most programmer needs. These data structures have been engineered for performance and ease of use, and their performance either meets or beats every other commercially available C# container library. In addition, all C# Toolkit containers work correctly in multi-threaded situations.

Sequences
ArrayAdapter <T> Adapts native arrays to C# Toolkit
ArrayList <T> Linear, contiguous storage; fast inserts at the end only
Deque <T> Linear, noncontiguous storage; fast inserts at extremities
Dlist <T> Doubly linked list, fast inserts anywhere
Slist <T> Singly linked list, fast inserts at either extremity
Maps
HashMap <K, V> Associative container of Key, Value pairs. 1-to-1 or 1-to-many mappings, stored using hash
OrderedMap <K, V> Associative container of Key, Value pairs. 1-to-1 or 1-to-many mappings, stored in key-based order
LinkedHashMap <K, V> Associative container of Key, Value pairs. 1-to-1 or 1-to-many mappings stored in insertion order
Sets
HashSet <K, V> Fast associative lookup, supports set operations
OrderedSet <K, V> Fast associative lookup, stored in order, supports set operations
LinkedHashSet <K, V> Fast associative lookup, stored in insertion order, supports set operations
Queues and Stacks
PriorityQueue <T> Access items in sorted order
Queue <T> Adapt any ISequence<T> to a strict first-in, first-out data structure
Stack <T> Adapt any iSequence to a strict last-in, first-out data structure

Function Objects and Predicates

More advanced users will find the power and flexibility of function objects and predicates the open door to using C# Toolkit for enterprise development and extending C# Toolkit to add new features. Function objects are used by selective algorithms so that programmers can encapsulate behaviors for use by the algorithm. For example, using a function object, you can execute a transformation upon a collection of objects in place. Predicates are used by both algorithms and containers for ordering and comparing objects. For example, using a predicate, you can order a set in ascending or descending order, or perhaps in an order based on a complex, domain-specific calculation.

» Download your free copy here.