Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

KeyedCollection<TKey, TItem> Constructor (IEqualityComparer<TKey>^)

 

Initializes a new instance of the KeyedCollection<TKey, TItem> class that uses the specified equality comparer.

Namespace:   System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)

protected:
KeyedCollection(
	IEqualityComparer<TKey>^ comparer
)

Parameters

comparer
Type: System.Collections.Generic::IEqualityComparer<TKey>^

The implementation of the IEqualityComparer<T> generic interface to use when comparing keys, or null to use the default equality comparer for the type of the key, obtained from EqualityComparer<T>::Default.

By default, the KeyedCollection<TKey, TItem> includes a lookup dictionary that is created when the first item is added. When an item is added to the KeyedCollection<TKey, TItem>, the item's key is extracted once and saved in the lookup dictionary for faster searches. This behavior can be overridden by using the KeyedCollection<TKey, TItem>(IEqualityComparer<TKey>^, Int32) constructor and specifying a dictionary creation threshold.

System_CAPS_noteNote

Because the KeyedCollection<TKey, TItem> class is abstract (MustInherit in Visual Basic), you must derive from it in order to use it. In the constructor for your derived type, call the appropriate KeyedCollection<TKey, TItem> constructor. It is not necessary to expose functionality like the equality comparer or the dictionary creation threshold in your constructors.

This constructor is an O(1) operation.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2017 Microsoft