C#でHybridDictionaryの指定したキーの値を取得・設定する方法
C#のHybridDictionaryでは、インデクサ(myDict[キー])を使うことで、指定したキーに対応する値を簡単に取得したり、新しい値を設定(更新)したりできます。
HybridDictionaryは、System.Collections.Specialized名前空間に属するコレクションです。要素数が少ないうちはListDictionaryとして動作し、要素が増えると自動的にHashtableへ切り替わるため、規模に応じて効率的なパフォーマンスを実現できます。
例1:キーを指定して値を取得する
まずは、インデクサを使って特定のキーの値を取得する例を見てみましょう。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
HybridDictionary myDict = new HybridDictionary();
myDict.Add("1", "Tablet");
myDict.Add("2", "Desktop");
myDict.Add("3", "Speakers");
myDict.Add("4", "Laptop");
myDict.Add("5", "Notebook");
myDict.Add("6", "Ultrabook");
myDict.Add("7", "HDD");
myDict.Add("8", "SDD");
Console.WriteLine("キー 5 の値 = " + myDict["5"]);
}
}
出力
このプログラムを実行すると、次のような結果が出力されます。
キー 5 の値 = Notebook
例2:キーを指定して値を設定(更新)する
続いて、既存のキーに対して新しい値を代入し、値を更新する例です。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
HybridDictionary myDict = new HybridDictionary();
myDict.Add("1", "Tablet");
myDict.Add("2", "Desktop");
myDict.Add("3", "Speakers");
myDict.Add("4", "Laptop");
myDict.Add("5", "Notebook");
myDict.Add("6", "Ultrabook");
myDict.Add("7", "HDD");
myDict.Add("8", "SDD");
Console.WriteLine("キー 5 の値 = " + myDict["5"]);
myDict["5"] = "Smart Watches";
Console.WriteLine("更新後のキー 5 の値 = " + myDict["5"]);
}
}
出力
このプログラムを実行すると、次のような結果が出力されます。
キー 5 の値 = Notebook 更新後のキー 5 の値 = Smart Watches
ポイント解説
- 値の取得:
myDict["5"]のようにキーを指定すると、対応する値が返されます。指定したキーが存在しない場合はnullが返される点に注意してください。 - 値の設定:すでに存在するキーに代入すると既存の値が上書きされ、存在しないキーに代入すると新しいエントリとして追加されます。
- 使い分けの目安:要素数が少ない場合はListDictionary相当の軽量な動作となり、要素が増えるとHashtableへ自動的に切り替わるため、サイズが不明なケースでも柔軟に対応できます。
-
C#のSortedListで指定したキーに関連付けられた値を取得・設定する方法
C#のSortedListクラスでは、インデクサ(this[])を使うことで、指定したキーに関連付けられた値を簡単に取得したり、上書き設定したりすることができます。基本的な使い方list[キー] の形式でアクセスすると、そのキーに対応する値が返されます。同じ構文で値を代入すると、既存のキーの値を更新できます。サンプルコード以下の例では、SortedListに複数のキーと値を追加し、キー「E」に関連付けられた値を取得した後、新しい値で更新しています。using System; using System.Collections; public class Demo { public sta
-
C#のListDictionaryで指定したキーに関連付けられた値を取得・設定する方法
C#のListDictionaryでは、インデクサー(Itemプロパティ)を使うことで、指定したキーに関連付けられた値を簡単に取得したり、新しい値に更新したりできます。ListDictionaryはSystem.Collections.Specialized名前空間に属するコレクションで、要素数が少ない場合(目安として10項目程度まで)に高いパフォーマンスを発揮する特徴があります。以下のコード例では、キー「C」に関連付けられた値の取得と更新の両方を確認できます。例1:キーに関連付けられた値を取得するusing System; using System.Collections; using Sy