C#のHybridDictionaryに指定したキーと値を追加する方法
C#のHybridDictionaryは、System.Collections.Specialized名前空間に属するコレクションクラスです。要素数が少ない間はListDictionaryとして動作し、規模が大きくなると自動的にHashtableへ切り替わるため、サイズが事前に分からないデータを扱う際に効率的です。
指定したキーと値をHybridDictionaryに追加するには、Addメソッドを使用します。なお、すでに存在するキーを追加しようとするとArgumentExceptionがスローされる点に注意してください。
例1:Addメソッドでキーと値を追加する
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
HybridDictionary dict = new HybridDictionary();
dict.Add("A", "Bags");
dict.Add("B", "Electronics");
dict.Add("C", "Smart Wearables");
dict.Add("D", "Pet Supplies");
Console.WriteLine("HybridDictionaryの要素...");
foreach(DictionaryEntry d in dict){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("HybridDictionaryは固定サイズか? = " + dict.IsFixedSize);
Console.WriteLine("HybridDictionaryは読み取り専用か? = " + dict.IsReadOnly);
}
}
出力結果
HybridDictionaryの要素... A Bags B Electronics C Smart Wearables D Pet Supplies HybridDictionaryは固定サイズか? = False HybridDictionaryは読み取り専用か? = False
解説
foreachループでDictionaryEntryを列挙することで、各要素のKeyとValueを取得できます。IsFixedSizeプロパティはコレクションが固定サイズかどうかを、IsReadOnlyプロパティは読み取り専用かどうかを表します。HybridDictionaryはどちらもFalseとなるため、要素の追加・削除が自由に行えます。
例2:複数要素の追加とCountプロパティの確認
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
HybridDictionary dict1 = new HybridDictionary();
dict1.Add("A", "Books");
dict1.Add("B", "Electronics");
dict1.Add("C", "Smart Wearables");
dict1.Add("D", "Pet Supplies");
dict1.Add("E", "Clothing");
dict1.Add("F", "Footwear");
Console.WriteLine("HybridDictionary1の要素...");
foreach(DictionaryEntry d in dict1){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Dictionary1のキー/値ペアの数 = " + dict1.Count);
HybridDictionary dict2 = new HybridDictionary();
dict2.Add("1", "One");
dict2.Add("2", "Two");
dict2.Add("3", "Three");
dict2.Add("4", "Four");
dict2.Add("5", "Five");
dict2.Add("6", "Six");
Console.WriteLine("\nHybridDictionary2の要素...");
foreach(DictionaryEntry d in dict2){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Dictionary2のキー/値ペアの数 = " + dict2.Count);
dict2.Clear();
Console.WriteLine("Clear後のDictionary2のキー/値ペアの数 = " + dict2.Count);
}
}
出力結果
HybridDictionary1の要素... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear Dictionary1のキー/値ペアの数 = 6 HybridDictionary2の要素... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six Dictionary2のキー/値ペアの数 = 6 Clear後のDictionary2のキー/値ペアの数 = 0
解説
Countプロパティを参照すると、現在格納されているキーと値のペアの総数を取得できます。さらにClearメソッドを呼び出すとすべての要素が削除され、Countは0になります。
このように、HybridDictionaryのAddメソッドを使えばキーと値のペアを簡単に追加でき、CountやClearといった機能と組み合わせることで、コレクションを柔軟に管理することが可能です。
-
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