English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Opérateurs de génération LINQ Empty, Range, Repeat

LINQ inclut des opérateurs de génération DefaultIfEmpty, Empty, Range & Repeat. Les méthodes Empty, Range et Repeat ne sont pas des méthodes d'extension d'IEnumerable ou d'IQueryable, mais seulement des méthodes statiques définies dans la classe statique Enumerable.  

MéthodeDescription
EmptyRetourne un ensemble vide
RangeGénère un ensemble de type IEnumerable <T> comportant des éléments avec des valeurs de rang spécifiées, à partir du premier élément.
Début.Génère un ensemble de type IEnumerable <T> comportant un certain nombre d'éléments et où chaque élément contient la même valeur spécifiée.

Empty

Empty() est comme les autres méthodes LINQ, ce n'est pas une méthode d'extension d'IEnumerable ou d'IQueryable. C'est une méthode statique incluse dans la classe statique Enumerable. Par conséquent, vous pouvez l'appeler comme d'autres méthodes statiques (comme Enumerable.Empty <TResult>()). La méthode Empty() retourne un ensemble vide de type spécifié, comme suit.

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 );
Sortie :
Type: String[]
Count: 0
Type: Student[]
Count: 0

Range

La méthode Range() retourne un ensemble de type IEnumerable <T> comportant un certain nombre d'éléments et des valeurs de rang de début à partir du premier élément.

var intCollection = Enumerable.Range(10, 10);
Console.WriteLine("Compte total: {0} ", intCollection.Count());
for(int i = 0; i < intCollection.Count(); i++)
    Console.WriteLine("valeur, position d'index 0: {0} : ",1};
Sortie :

Compte total : 10
valeur, position d'index 0 : 10
valeur, position d'index 1 : 11
valeur, position d'index 2 : 12
valeur, position d'index 3 : 13
valeur, position d'index 4 : 14
valeur, position d'index 5 : 15
valeur, position d'index 6 : 16
valeur, position d'index 7 : 17
valeur, position d'index 8 : 18
valeur, position d'index 9 : 19

Dans l'exemple suivant, Enumerable.Range(10, 10) a créé avec10un ensemble d'éléments entiers, dont les valeurs de séquence commencent par10Le premier paramètre spécifie la valeur de l'élément de départ, le second paramètre spécifie le nombre d'éléments à créer.

Début.

La méthode Repeat() génère un ensemble de type IEnumerable <T> à l'aide d'un nombre spécifié d'éléments, chaque élément contient la valeur spécifiée.

var intCollection = Enumerable.Repeat<int>(10, 10);
Console.WriteLine("Total: {0} ", intCollection.Count());
for(int i = 0; i < intCollection.Count(); i++)
    Console.WriteLine("valeur, position d'index 0: {0} : ",1};
Sortie :
Total :10
valeur, position d'index 0: 10
valeur, position d'index 1: 10
valeur, position d'index 2: 10
valeur, position d'index 3: 10
valeur, position d'index 4: 10
valeur, position d'index 5: 10
valeur, position d'index 6: 10
valeur, position d'index 7: 10
valeur, position d'index 8: 10
valeur, position d'index 9: 10

Dans l'exemple suivant, Enumerable.Repeat<int>(10, 10) créer avec100 valeur répétée10d'un ensemble d'éléments de type entier, le premier paramètre spécifie la valeur de tous les éléments, le second paramètre spécifie le nombre d'éléments à créer.