This documentation is archived and is not being maintained.

CollectionsUtil Class

Creates collections that ignore the case in strings.


Namespace:  System.Collections.Specialized
Assembly:  System (in System.dll)

type CollectionsUtil =  class end

The CollectionsUtil type exposes the following members.

Public methodCollectionsUtilInitializes a new instance of the CollectionsUtil class.

Public methodStatic memberCreateCaseInsensitiveHashtable()Creates a new case-insensitive instance of the Hashtable class with the default initial capacity.
Public methodStatic memberCreateCaseInsensitiveHashtable(IDictionary)Copies the entries from the specified dictionary to a new case-insensitive instance of the Hashtable class with the same initial capacity as the number of entries copied.
Public methodStatic memberCreateCaseInsensitiveHashtable(Int32)Creates a new case-insensitive instance of the Hashtable class with the specified initial capacity.
Public methodStatic memberCreateCaseInsensitiveSortedListCreates a new instance of the SortedList class that ignores the case of strings.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

These methods generate a case-insensitive instance of the collection using case-insensitive implementations of the hash code provider and the comparer. The resulting instance can be used like any other instances of that class, although it may behave differently.

For example, suppose two objects with the keys "hello" and "HELLO" are to be added to a hash table. A case-sensitive hash table would create two different entries; whereas, a case-insensitive hash table would throw an exception when adding the second object.

The following example uses two collections, a hash table and a sorted list, to hold population values for a group of cities. The values are retrieved from the collections by using the city names as keys. The city names are in mixed case to show their use as case-insensitive keys.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

A Hashtable can support one writer and multiple readers concurrently. To support multiple writers, all operations must be done through the wrapper returned by the Synchronized method.

A SortedList can support multiple readers concurrently, as long as the collection is not modified. To guarantee the thread safety of the SortedList, all operations must be done through the wrapper returned by the Synchronized method.

Enumerating through a collection is intrinsically not a thread safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.