Represents a collection of key-and-value pairs.
For a list of all members of this type, see IDictionary Members.
[Visual Basic]
Public Interface IDictionary
Inherits ICollection, IEnumerable
[C#]
public interface IDictionary : ICollection, IEnumerable
[C++]
public __gc __interface IDictionary : public ICollection,
IEnumerable
[JScript]
public interface IDictionary implements ICollection, IEnumerable
Classes that Implement IDictionary
| Class |
Description |
| BaseChannelObjectWithProperties |
Provides a base implementation of a channel object that wants to provide a dictionary interface to its properties. |
| DictionaryBase |
Provides the abstract (MustInherit in Visual Basic) base class for a strongly typed collection of key-and-value pairs. |
| Hashtable |
Represents a collection of key-and-value pairs that are organized based on the hash code of the key. |
| HybridDictionary |
Implements IDictionary by using a ListDictionary while the collection is small, and then switching to a Hashtable when the collection gets large. |
| ListDictionary |
Implements IDictionary using a singly linked list. Recommended for collections that typically contain 10 items or less. |
| PropertyCollection |
Contains the properties of a DirectoryEntry. |
| PropertyDescriptorCollection |
Represents a collection of PropertyDescriptor objects. |
| SortedList |
Represents a collection of key-and-value pairs that are sorted by the keys and are accessible by key and by index. |
| StateBag |
Manages the view state of ASP.NET server controls, including pages. This class cannot be inherited. |
Remarks
The IDictionary class is the base interface for collections of key-and-value pairs.
Each element is a key-and-value pair stored in a DictionaryEntry object.
Each association must have a unique key that is not a null reference (Nothing in Visual Basic), but the value of an association can be any object reference, including a null reference (Nothing). The IDictionary interface allows the contained keys and values to be enumerated, but it does not imply any particular sort order.
IDictionary implementations fall into three categories: read-only, fixed-size, variable-size. A read-only IDictionary cannot be modified. A fixed-size IDictionary does not allow the addition or removal of elements, but it allows the modification of existing elements. A variable-size IDictionary allows the addition, removal and modification of elements.
[Visual Basic, C#] The foreach statement of the C# language (for each in Visual Basic) requires the type of each element in the collection. Since each element of the IDictionary is a key-and-value pair, the element type is not the type of the key or the type of the value. Instead, the element type is DictionaryEntry. For example:
[C#]
foreach (DictionaryEntry myDE in myHashtable) {...}
[Visual Basic]
Dim myDE As DictionaryEntry
For Each myDE In myHashtable
...
Next myDE
[Visual Basic, C#] The foreach statement is a wrapper around the enumerator, which only allows reading from, not writing to, the collection.
Requirements
Namespace: System.Collections
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework - Windows CE .NET
Assembly: Mscorlib (in Mscorlib.dll)
See Also
IDictionary Members | System.Collections Namespace | Hashtable