次の方法で共有


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 内)

参照

IDictionary メンバ | System.Collections 名前空間 | Hashtable