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でキーと値を一緒に表示する
次の例では、foreachとDictionaryEntryを使ってキーと値を同時に表示し、さらに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が発生する。 KeysやValuesプロパティ、IDictionaryEnumeratorを使うことでコレクションの内容を柔軟に取得・反復処理できる。
-
Redis HGETALLコマンドの使い方 – ハッシュに含まれるすべてのフィールドと値のペアを一括取得する方法
このチュートリアルでは、Redisのキーに保存されたハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について解説します。この操作には、RedisのHGETALLコマンドを使用します。 HGETALLコマンドとは HGETALLコマンドは、指定したキーに保存されているハッシュ値に含まれるすべてのフィールドと、それぞれに関連付けられた値を返すコマンドです。 動作のポイントは以下の通りです。 キーが存在しない場合は、空のリストが返されます(エラーにはなりません)。 キーは存在するが、その値がハッシュ型ではない場合は、エラーが返されます。 構文 redis host:port>
-
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ファイル