Cogs.Collections 1.11.0

.NET Standard 2.1
Install-Package Cogs.Collections -Version 1.11.0
dotnet add package Cogs.Collections --version 1.11.0
<PackageReference Include="Cogs.Collections" Version="1.11.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cogs.Collections --version 1.11.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Cogs.Collections, 1.11.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cogs.Collections as a Cake Addin
#addin nuget:?package=Cogs.Collections&version=1.11.0

// Install Cogs.Collections as a Cake Tool
#tool nuget:?package=Cogs.Collections&version=1.11.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

This library provides a number of utilities surrounding collections:

  • EquatableList<T> is an immutable list of items which may be compared with other instances of the same type and produces a hash code based on the permutation of its contents.
  • INotifyGenericCollectionChanged<T> is similar to the BCL's INotifyCollectionChanged except that it is a generic and therefore provides event arguments aware of the type of the collection.
  • NullableKeyDictionary<TKey, TValue> and NullableKeySortedDictionary<TKey, TValue> are very slim implementations of IDictionary<TKey, TValue> that allow a single null key (useful for some edge cases in which a null key is simply going to happen and you need to be able to deal with it; otherwise, use other dictionary classes)
  • ObservableDictionary<TKey, TValue> and ObservableSortedDictionary<TKey, TValue> are counterparts to the BCL's Dictionary<TKey, TValue> and SortedDictionary<TKey, TValue>, respectively, that implement the also included IRangeDictionary<TKey, TValue> and INotifyDictionaryChanged<TKey, TValue>. Ever want to add multiple items to a dictionary at once... or keep an eye on what's being done to it? Now you can.
  • OrderedHashSet<T> is a counterpart to the BCL's HashSet<T> that maintains the order of the elements in the set. All operations are still O(1), just like the original, but if you enumerate over it you will get elements in the exact order they were added. There are also methods for manipulating the order.
Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.1
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Cogs.Collections:

Package Downloads

Cogs for active expressions.


Cogs for active queries.


Cogs for synchronized collections. Includes ISynchronizedObservableRangeDictionary, SynchronizedObservableCollection, SynchronizedObservableDictionary, SynchronizedObservableSortedDictionary, SynchronizedRangeObservableCollection, ProcessingQueue, and AsyncProcessingQueue.


Cogs for WPF. Includes general-use behaviors, controls, validation rules, and value converters. Also includes ways to leverage Windows features beyond what WPF supports out of the box (such as using enabling blur-behind and binding system commands to controls) and the inclusion of input gestures in styles.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.11.0 371 4/3/2022
1.10.1 239 3/15/2022
1.10.0 71 3/15/2022
1.9.3 579 12/16/2021
1.9.2 318 11/3/2021
1.9.1 353 10/16/2021
1.9.0 285 7/15/2021
1.8.0 197 3/3/2021
1.7.7 916 2/1/2021
1.7.6 299 1/30/2021
1.7.5 247 1/30/2021
1.7.4 468 11/22/2020
1.7.3 449 10/23/2020
1.7.2 374 10/22/2020
1.7.0 298 10/21/2020
1.6.0 652 10/19/2020
1.5.6 1,751 5/23/2020
1.5.5 303 5/23/2020
1.5.4 319 5/23/2020
1.5.3 329 5/23/2020
1.5.2 265 5/11/2020
1.5.1 280 5/11/2020
1.5.0 282 5/11/2020
1.4.1 2,270 4/17/2020
1.4.0 479 4/13/2020
1.3.0 297 4/13/2020
1.2.1 450 4/11/2020
1.2.0 389 3/4/2020
1.1.1 635 3/4/2020
1.1.0 376 3/4/2020
1.0.2 432 3/3/2020
1.0.1 417 3/1/2020
1.0.0 483 2/29/2020

We removed the generic collection change notification interface for causing too much trouble with combining multicast delegates in some scenarios. Updating to this will break other Cogs libraries unless you update them also.