IDictionary インターフェイス
キーと値の組み合わせのコレクションを表します。
この型のすべてのメンバの一覧については、IDictionary メンバ を参照してください。
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
IDictionary を実装するクラス
クラス | 説明 |
---|---|
BaseChannelObjectWithProperties | プロパティにディクショナリ インターフェイスを提供する、チャネル オブジェクトの基本の実装を提供します。 |
DictionaryBase | 厳密に型指定された、キーと値の組み合わせのコレクションの抽象 (Visual Basic では MustInherit) 基本クラスを提供します。 |
Hashtable | キーのハッシュ コードに基づいて編成された、キーと値の組み合わせのコレクションを表します。 |
HybridDictionary | コレクションが小さいうちは ListDictionary を使用して IDictionary を実装し、コレクションが大きくなったら Hashtable に切り替えます。 |
ListDictionary | シングルリンク リストを使用して IDictionary を実装します。格納する項目数が通常 10 以下であるコレクションに対して推奨されます。 |
PropertyCollection | DirectoryEntry のプロパティを格納します。 |
PropertyDescriptorCollection | PropertyDescriptor オブジェクトのコレクションを表します。 |
SortedList | キーによって並べ替えられ、キーとインデックスを使ってアクセスできる、キーと値の組み合わせのコレクションを表します。 |
StateBag | ページを含む、ASP.NET サーバー コントロールのビューステートを管理します。このクラスは継承できません。 |
解説
IDictionary クラスは、キーと値の組み合わせのコレクションの基本インターフェイスです。
各要素は、 DictionaryEntry オブジェクトに格納されているキーと値の組み合わせです。
関連付けられている各キーは一意で null 参照 (Visual Basic では Nothing) ではないことが必要ですが、関連付けられている値は、 null 参照 (Nothing) を含め、任意のオブジェクト参照でかまいません。 IDictionary インターフェイスを使用すると、保持されているキーと値を列挙できますが、特定の並べ替え順序は指定できません。
IDictionary の実装には、読み取り専用、固定サイズ、および可変サイズの 3 種類があります。読み取り専用の IDictionary は、変更できません。固定サイズの IDictionary では、要素の追加または削除はできませんが、既存の要素は変更できます。可変サイズの IDictionary では、要素を追加、削除、および変更できます。
[Visual Basic, C#] C# 言語の foreach ステートメント (Visual Basic では for each) は、コレクション内の各要素の型を必要とします。 IDictionary の各要素はキーと値の組み合わせであるため、要素の型は、キーの型や値の型にはなりません。その代わり、要素の型は DictionaryEntry になります。次に例を示します。
foreach (DictionaryEntry myDE in myHashtable) {...}
[Visual Basic]
Dim myDE As DictionaryEntry
For Each myDE In myHashtable
...
Next myDE
[Visual Basic, C#] foreach ステートメントは、列挙子のラッパーです。これは、コレクションからの読み取りだけを許可し、コレクションへの書き込みを防ぎます。
必要条件
名前空間: System.Collections
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)