説明
名前空間 System.Collection.Generic が含まれている必要があります
ディクショナリ内の各要素は、キーと値のペア (キーと値の 2 つの要素で構成されます) です
キーは一意である必要がありますが、値は一意である必要はありません一意であること
キーと値は任意の型 (例: string、int、カスタム タイプなど) にすることができる
キーを介して値を読み取る時間は O(1) に近い
バイアスキーと値のペア間の順序は定義できません
Usage:
//定义 Dictionary<string, string> openWith = new Dictionary<string, string>(); //添加元素 openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); //取值 Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]); //更改值 openWith["rtf"] = "winword.exe"; Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]); //遍历key foreach (string key in openWith.Keys) { Console.WriteLine("Key = {0}", key); } //遍历value foreach (string value in openWith.Values) { Console.WriteLine("value = {0}", value); } //遍历value, Second Method Dictionary<string, string>.ValueCollection valueColl = openWith.Values; foreach (string s in valueColl) { Console.WriteLine("Second Method, Value = {0}", s); } //遍历字典 foreach (KeyValuePair<string, string> kvp in openWith) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); } //添加存在的元素 try { openWith.Add("txt", "winword.exe"); } catch (ArgumentException) { Console.WriteLine("An element with Key = \"txt\" already exists."); } //删除元素 openWith.Remove("doc"); if (!openWith.ContainsKey("doc")) { Console.WriteLine("Key \"doc\" is not found."); } //判断键存在 if (openWith.ContainsKey("bmp")) // True { Console.WriteLine("An element with Key = \"bmp\" exists."); } //参数为其它类型 Dictionary<int, string[]> OtherType = new Dictionary<int, string[]>(); OtherType.Add(1, "1,11,111".Split(',')); OtherType.Add(2, "2,22,222".Split(',')); Console.WriteLine(OtherType[1][2]); //参数为自定义类型 //首先定义类 class DouCube { public int Code { get { return _Code; } set { _Code = value; } } private int _Code; public string Page { get { return _Page; } set { _Page = value; } } private string _Page; } //然后声明并添加元素 Dictionary<int, DouCube> MyType = new Dictionary<int, DouCube>(); for (int i = 1; i <= 9; i++) { DouCube element = new DouCube(); element.Code = i * 100; element.Page = "http://www.doucube.com/" + i.ToString() + ".html"; MyType.Add(i, element); } //遍历元素 foreach (KeyValuePair<int, DouCube> kvp in MyType) { Console.WriteLine("Index {0} Code:{1} Page:{2}", kvp.Key, kvp.Value.Code, kvp.Value.Page); }名前 説明
Comparer ディクショナリ内のキーが等しいかどうかを判断するために使用される IEqualityComparer8742468051c85b06f0a0af9e3e506b5c を取得します。 一般的なメソッド
Count Dictionary
Keys Dictionary
Values Dictionaryb6842da76bed01162354d37c4f2d3464 の値を含むコレクションを取得します。
名前 説明
Add 指定されたキーと値を辞書に追加します。
Clear Dictionaryb6842da76bed01162354d37c4f2d3464 からすべてのキーと値を削除します。
ContainsKey Dictionary
ContainsValue Dictionary
Equals(Object) 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
Finalize オブジェクトがガベージ コレクションによってリサイクルされる前にリソースの解放を試行し、他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
GetEnumerator Dictionary
GetHashCode は、特定のタイプのハッシュ関数として使用されます。 (Object から継承されます。)
GetObjectData System.Runtime.Serialization.ISerializable インターフェイスを実装し、Dictionary
GetType 現在のインスタンスのタイプを取得します。 (Object から継承されます。)
MemberwiseClone 現在のオブジェクトの浅いコピーを作成します。 (Object から継承されます。)
OnDeserialization System.Runtime.Serialization.ISerializable インターフェイスを実装し、逆シリアル化の完了後に逆シリアル化イベントをトリガーします。
削除 指定されたキーの値を Dictionary
ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
TryGetValue 指定されたキーに関連付けられた値を取得します。
以上がC#のDictionary辞書クラスのサンプルコードの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。