Cogs.Collections 1.11.0

.NET Standard 2.1
NuGet\Install-Package Cogs.Collections -Version 1.11.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
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
#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

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 queries.


Cogs for active expressions.


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 606 4/3/2022
1.10.1 374 3/15/2022
1.10.0 92 3/15/2022
1.9.3 658 12/16/2021
1.9.2 326 11/3/2021
1.9.1 362 10/16/2021
1.9.0 297 7/15/2021
1.8.0 206 3/3/2021
1.7.7 929 2/1/2021
1.7.6 308 1/30/2021
1.7.5 253 1/30/2021
1.7.4 478 11/22/2020
1.7.3 463 10/23/2020
1.7.2 381 10/22/2020
1.7.0 308 10/21/2020
1.6.0 662 10/19/2020
1.5.6 1,757 5/23/2020
1.5.5 309 5/23/2020
1.5.4 325 5/23/2020
1.5.3 335 5/23/2020
1.5.2 274 5/11/2020
1.5.1 291 5/11/2020
1.5.0 293 5/11/2020
1.4.1 2,285 4/17/2020
1.4.0 488 4/13/2020
1.3.0 302 4/13/2020
1.2.1 461 4/11/2020
1.2.0 397 3/4/2020
1.1.1 644 3/4/2020
1.1.0 384 3/4/2020
1.0.2 442 3/3/2020
1.0.1 427 3/1/2020
1.0.0 494 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.