C#
 Computer >> コンピューター >  >> プログラミング >> C#

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といった機能と組み合わせることで、コレクションを柔軟に管理することが可能です。

  1. C#のSortedListで指定したキーに関連付けられた値を取得・設定する方法

    C#のSortedListクラスでは、インデクサ(this[])を使うことで、指定したキーに関連付けられた値を簡単に取得したり、上書き設定したりすることができます。基本的な使い方list[キー] の形式でアクセスすると、そのキーに対応する値が返されます。同じ構文で値を代入すると、既存のキーの値を更新できます。サンプルコード以下の例では、SortedListに複数のキーと値を追加し、キー「E」に関連付けられた値を取得した後、新しい値で更新しています。using System; using System.Collections; public class Demo { public sta

  2. C#のListDictionaryで指定したキーに関連付けられた値を取得・設定する方法

    C#のListDictionaryでは、インデクサー(Itemプロパティ)を使うことで、指定したキーに関連付けられた値を簡単に取得したり、新しい値に更新したりできます。ListDictionaryはSystem.Collections.Specialized名前空間に属するコレクションで、要素数が少ない場合(目安として10項目程度まで)に高いパフォーマンスを発揮する特徴があります。以下のコード例では、キー「C」に関連付けられた値の取得と更新の両方を確認できます。例1:キーに関連付けられた値を取得するusing System; using System.Collections; using Sy