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

C#のSortedListにキーと値のペアを追加する方法

C#のSortedListにキーと値のペアを追加するには、Add()メソッドを使用します。このメソッドは、指定したキーと値をSortedListに追加し、要素は常にキーに基づいて自動的にソートされます。

Add()メソッドの基本構文

public virtual void Add(object key, object value);

第1引数にはキー、第2引数には対応する値を渡します。なお、同じキーがすでに存在する場合にはArgumentExceptionがスローされる点に注意してください。

例1:文字列のキーと値を追加する

以下のコードでは、アルファベットのキーと名前の値を持つSortedListを作成しています。

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args){
      SortedList list = new SortedList();
      list.Add("A", "Jacob");
      list.Add("B", "Sam");
      list.Add("C", "Tom");
      list.Add("D", "John");
      list.Add("E", "Tim");
      list.Add("F", "Mark");
      list.Add("G", "Gary");
      list.Add("H", "Nathan");
      list.Add("I", "Shaun");
      list.Add("J", "David");

      ICollection col1 = list.Values;
      Console.WriteLine("Values...");
      foreach(string s in col1)
         Console.WriteLine(s);

      ICollection col2 = list.Keys;
      Console.WriteLine("\nKeys...");
      foreach(string s in col2)
         Console.WriteLine(s);
   }
}

出力結果

上記のコードを実行すると、次の出力が得られます。値はキーのソート順(A〜J)に対応して表示されていることがわかります。

Values...
Jacob
Sam
Tom
John
Tim
Mark
Gary
Nathan
Shaun
David
Keys...
A
B
C
D
E
F
G
H
I
J

例2:DictionaryEntryでキーと値を一緒に表示する

次の例では、foreachDictionaryEntryを使ってキーと値を同時に表示し、さらにRemoveAt()メソッドで要素を削除した後の状態も確認しています。

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args){
      SortedList sortedList = new SortedList();
      sortedList.Add("A", "1");
      sortedList.Add("B", "2");
      sortedList.Add("C", "3");
      sortedList.Add("D", "4");
      sortedList.Add("E", "5");
      sortedList.Add("F", "6");
      sortedList.Add("G", "7");
      sortedList.Add("H", "8");
      sortedList.Add("I", "9");
      sortedList.Add("J", "10");

      Console.WriteLine("SortedList elements...");
      foreach(DictionaryEntry d in sortedList){
         Console.WriteLine("Key = "+d.Key + ", Value = " + d.Value);
      }
      Console.WriteLine("Count of SortedList key-value pairs = "+sortedList.Count);

      sortedList.RemoveAt(3);

      Console.WriteLine("\nEnumerator to iterate through the SortedList...");
      IDictionaryEnumerator demoEnum = sortedList.GetEnumerator();
      while (demoEnum.MoveNext())
         Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);

      Console.WriteLine("Count of SortedList key-value pairs (Updated) = "+sortedList.Count);
   }
}

出力結果

インデックス3(キー「D」)の要素が削除され、要素数が10から9に更新されていることが確認できます。

SortedList elements...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = D, Value = 4
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10
Count of SortedList key-value pairs = 10
Enumerator to iterate through the SortedList...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10
Count of SortedList key-value pairs (Updated) = 9

まとめ

  • Add(key, value)メソッドでSortedListにキーと値のペアを追加できる。
  • 追加された要素はキーに基づいて自動的にソートされる。
  • 重複したキーを追加しようとするとArgumentExceptionが発生する。
  • KeysValuesプロパティ、IDictionaryEnumeratorを使うことでコレクションの内容を柔軟に取得・反復処理できる。
  1. Redis HGETALLコマンドの使い方 – ハッシュに含まれるすべてのフィールドと値のペアを一括取得する方法

    このチュートリアルでは、Redisのキーに保存されたハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について解説します。この操作には、RedisのHGETALLコマンドを使用します。 HGETALLコマンドとは HGETALLコマンドは、指定したキーに保存されているハッシュ値に含まれるすべてのフィールドと、それぞれに関連付けられた値を返すコマンドです。 動作のポイントは以下の通りです。 キーが存在しない場合は、空のリストが返されます(エラーにはなりません)。 キーは存在するが、その値がハッシュ型ではない場合は、エラーが返されます。 構文 redis host:port>

  2. REG ADDコマンドでREG_BINARYレジストリ値を追加する方法

    このチュートリアルでは、「REG ADD」コマンドを使用して「REG_BINARY」型のレジストリ値をレジストリに追加する方法を解説します。 数日前、あるPC(ここでは「PC-A」と呼びます)から別のPC(「PC-B」と呼びます)へ、特定の「REG_BINARY」レジストリ値を「REG ADD」コマンドを使って移行する必要がありました。その際に試した手順と、正しく動作させるための解決策を紹介します。 うまくいかなかった最初の試み 1. 「PC-A」で、レジストリエディターの「エクスポート」機能を使い、「PC-B」にインポートしたい「REG_BINARY」値を含むレジストリキーを.REGファイル