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(){
ListDictionary listDict = new ListDictionary();
listDict.Add("1", "Laptop");
listDict.Add("2", "Tablet");
listDict.Add("3", "Desktop");
listDict.Add("4", "Speaker");
listDict.Add("5", "Earphone");
listDict.Add("6", "Headphone");
ICollection col = listDict.Values;
foreach(String s in col){
Console.WriteLine(s);
}
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Laptop Tablet Desktop Speaker Earphone Headphone
例2:文字列キーを使った場合の例
続いて、キーにアルファベットを使用した別の例を見てみましょう。
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
ListDictionary listDict = new ListDictionary();
listDict.Add("A", "Tom");
listDict.Add("B", "John");
listDict.Add("C", "Kevin");
listDict.Add("D", "Tim");
ICollection col = listDict.Values;
foreach(String s in col){
Console.WriteLine(s);
}
}
}出力結果
このコードを実行すると、以下のように登録した値のみが出力されます。
Tom John Kevin Tim
ポイント解説
- Valuesプロパティは、ListDictionary内のすべての値を
ICollectionとして返します。 - 戻り値は読み取り専用のため、このコレクションに対して要素の追加や削除を行うことはできません。
- 値だけでなくキーも取得したい場合は、
Keysプロパティを使用します。 ListDictionaryは要素数が少ない場合(おおよそ10件以下)に高いパフォーマンスを発揮するコレクションです。
-
C#のOrderedDictionaryで値を含むICollectionを取得する方法
OrderedDictionaryに格納されたすべての値を含むICollectionを取得するには、Valuesプロパティを使用します。この記事では、具体的なコード例を通してその使い方を解説します。ValuesプロパティとはSystem.Collections.Specialized名前空間に属するOrderedDictionaryクラスは、キーと値のペアを挿入順に保持できるコレクションです。Valuesプロパティにアクセスすると、辞書内のすべての値を格納したICollectionオブジェクトが返されます。取得したコレクションは、CopyToメソッドを使って配列へコピーすることで、ループ処理な
-
C#でListの要素範囲を取得する方法:GetRange()メソッドの使い方
C#のListで特定の範囲の要素を取得するには、GetRange() メソッドを使用します。このメソッドは、指定したインデックス位置から指定した数の要素を取り出し、新しいリストとして返します。 GetRange() メソッドの基本構文 public List<T> GetRange(int index, int count); index:取得を開始する要素のインデックス(0から始まります) count:取得する要素の数 リストの作成と要素の追加 まず、リストを作成して要素を追加します。 List<int> arr1 = new List<int>();