English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
LINQには生成演算子DefaultIfEmpty、Empty、Range&Repeatが含まれています。Empty、Range、RepeatメソッドはIEnumerableまたはIQueryableの拡張メソッドではなく、静的クラスEnumerableに定義された静的メソッドです。
メソッド | 説明 |
---|---|
Empty | 空のコレクションを返します |
Range | 最初の要素から始まり、指定された数の順序値を持つ要素を持つIEnumerable <T>型の集合を生成します。 |
Repeat | 指定された要素数を持つIEnumerable <T>型の集合を生成し、各要素は指定された値を含みます。 |
Empty()は他のLINQメソッドと同様に、IEnumerableまたはIQueryableの拡張メソッドではありません。これはEnumerable静的クラスに含まれる静的メソッドです。したがって、他の静的メソッド(例えばEnumerable.Empty <TResult>())と同様に呼び出すことができます。Empty()メソッドは指定されたタイプの空のコレクションを返します。以下のように表示されます。
var emptyCollection1 = Enumerable.Empty<string>(); var emptyCollection2 = Enumerable.Empty<Student>(); Console.WriteLine("Count: {0} ", emptyCollection1.Count()); Console.WriteLine("Type: {0} ", emptyCollection1.GetType().Name ); Console.WriteLine("Count: {0} ",emptyCollection2.Count()); Console.WriteLine("Type: {0} ", emptyCollection2.GetType().Name );
Type: String[] Count: 0 Type: Student[] Count: 0
Range()メソッドは、指定された要素数と最初の要素からの順序値を持つIEnumerable <T>型の集合を返します。
var intCollection = Enumerable.Range(10, 10); Console.WriteLine("総件数: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("値、インデックス位置が {0} : {1}
総件数: 10 値、インデックス位置が 0 : 10 値、インデックス位置が 1 : 11 値、インデックス位置が 2 : 12 値、インデックス位置が 3 : 13 値、インデックス位置が 4 : 14 値、インデックス位置が 5 : 15 値、インデックス位置が 6 : 16 値、インデックス位置が 7 : 17 値、インデックス位置が 8 : 18 値、インデックス位置が 9 : 19
上記の例では、Enumerable.Range(10, 10)を生成しました。10個の整数要素の集合、その順序値は10を開始します。第1引数は要素の初期値を指定し、第2引数は作成する要素数を指定します。
Repeat()メソッドは指定された数の要素でIEnumerable <T>型の集合を生成し、各要素は指定された値を含みます。
var intCollection = Enumerable.Repeat<int>(10, 10); Console.WriteLine("合計数: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("値、インデックス位置が {0} : {1}
合計数:10 値、インデックス位置が 0: 10 値、インデックス位置が 1: 10 値、インデックス位置が 2: 10 値、インデックス位置が 3: 10 値、インデックス位置が 4: 10 値、インデックス位置が 5: 10 値、インデックス位置が 6: 10 値、インデックス位置が 7: 10 値、インデックス位置が 8: 10 値、インデックス位置が 9: 10
上記の例では、Enumerable.Repeat<int>(10, 10) 次に、10重複値は0個です10の整数型要素の集合、第1引数はすべての要素の値を指定し、第2引数は作成する要素数を指定します。