C#のListDictionaryに含まれるキーと値のペアの数を取得する方法
C#のListDictionaryに含まれるキーと値のペアの数を取得するには、Countプロパティを使用します。Countプロパティは、コレクション内に現在格納されているキーと値のペアの総数をint型で返します。
また、すべての要素を削除したい場合はClearメソッドを使います。Clearメソッドを実行すると、Countの値は0になります。
コード例1
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
ListDictionary dict1 = new ListDictionary();
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("ListDictionary1 elements...");
foreach(DictionaryEntry d in dict1){
Console.WriteLine(d.Key + " " + d.Value);
}
ListDictionary dict2 = new ListDictionary();
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("\nListDictionary2 elements...");
foreach(DictionaryEntry d in dict2){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of key/value pairs in Dictionary 2 = "+dict2.Count);
ListDictionary dict3 = new ListDictionary();
dict3 = dict2;
Console.WriteLine("\nIs ListDictionary3 equal to ListDictionary2? = "+(dict3.Equals(dict2)));
dict3.Clear();
Console.WriteLine("Count of key/value pairs in Dictionary 3 = "+dict3.Count);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
ListDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear ListDictionary2 elements... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six Count of key/value pairs in Dictionary 2 = 6 Is ListDictionary3 equal to ListDictionary2? = True Count of key/value pairs in Dictionary 3 = 0
コード例のポイント
- dict2.Count:dict2に格納されている6つのキーと値のペアの数が返されます。
- dict3 = dict2:参照がコピーされるため、dict3とdict2は同じオブジェクトを指します。そのためEqualsメソッドの比較結果はTrueになります。
- dict3.Clear():dict3はdict2と同じオブジェクトを参照しているため、Clearを実行すると両方の要素が削除され、Countは0になります。
コード例2
続いて、IDictionaryEnumeratorを使ってキーと値のペアを列挙しながら、Countプロパティで要素数を確認する別の例を見てみましょう。
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
ListDictionary dict1 = new ListDictionary();
dict1.Add("A", "Books");
dict1.Add("B", "Electronics");
dict1.Add("C", "Smart Wearables");
dict1.Add("D", "Pet Supplies");
dict1.Add("E", "Clothing");
Console.WriteLine("ListDictionary1 elements...");
foreach(DictionaryEntry d in dict1){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of key/value pairs in Dictionary1 = "+dict1.Count);
ListDictionary dict2 = new ListDictionary();
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("\nListDictionary2 key-value pairs...");
IDictionaryEnumerator demoEnum = dict2.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("Key = " + demoEnum.Key + ", Value = "+ demoEnum.Value);
Console.WriteLine("Count of key/value pairs in Dictionary2 = "+dict2.Count);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
ListDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing Count of key/value pairs in Dictionary1 = 5 ListDictionary2 key-value pairs... Key = 1, Value = One Key = 2, Value = Two Key = 3, Value = Three Key = 4, Value = Four Key = 5, Value = Five Key = 6, Value = Six Count of key/value pairs in Dictionary2 = 6
まとめ
ListDictionaryの要素数を知りたい場合は、Countプロパティを使うだけで簡単に取得できます。foreachループやIDictionaryEnumeratorによる列挙と組み合わせれば、格納されているキーと値の内容と件数を一緒に確認することも可能です。なお、ListDictionaryは少数の要素を扱う場合に高い性能を発揮するコレクションである点も覚えておくとよいでしょう。
-
C#のListDictionaryで値を含むICollectionを取得する方法
C#のListDictionaryに格納されているすべての値を含むICollectionを取得するには、Valuesプロパティを使用します。このプロパティは、コレクション内の各キーに対応する値だけを抽出して返してくれます。以下に具体的なコード例を示します。例1:ListDictionary.Valuesの基本的な使い方using System; using System.Collections; using System.Collections.Specialized; public class Demo { public static void Main(
-
Redis HLENコマンドの使い方 – ハッシュに含まれるフィールド数を取得する方法
このチュートリアルでは、RedisのHLENコマンドを使って、指定したキーに保存されているハッシュ値に含まれるフィールドの数を取得する方法を解説します。redis-cliからHLENコマンドを実行することで、ハッシュ内のフィールド総数を簡単に確認できます。 HLENコマンドの構文 redis host:port> HLEN <キー名> 指定したキーに対してHLENコマンドを実行すると、そのハッシュに登録されているフィールドの数が返されます。 実行結果(戻り値) - (integer) ハッシュに含まれるフィールドの数 - 0:キーが存在しない場合 - エラー:キーは存在するが