Opérateurs d'élément dans LINQ
À l'exception de DefaultIfEmpty, les huit autres opérateurs d'élément de requête standard renvoient un seul élément d'une collection.
Opérateur | La description | Syntaxe d'expression de requête C # | Syntaxe d'expression de requête VB |
---|---|---|---|
ElementAt | Renvoie un élément présent dans un index spécifique d'une collection | N'est pas applicable | N'est pas applicable |
ElementAtOrDefault | Identique à ElementAt, à l'exception du fait qu'il renvoie également une valeur par défaut au cas où l'index spécifique serait hors de portée | N'est pas applicable | N'est pas applicable |
Première | Récupère le premier élément d'une collection ou le premier élément satisfaisant une condition spécifique | N'est pas applicable | N'est pas applicable |
FirstOrDefault | Identique à First sauf le fait qu'il renvoie également une valeur par défaut au cas où il n'y aurait pas de tels éléments | N'est pas applicable | N'est pas applicable |
Dernier | Récupère le dernier élément présent dans une collection ou le dernier élément satisfaisant une condition spécifique | N'est pas applicable | N'est pas applicable |
LastOrDefault | Identique à Last sauf le fait qu'il renvoie également une valeur par défaut au cas où il n'y aurait aucun élément de ce type | N'est pas applicable | N'est pas applicable |
Célibataire | Renvoie l'élément unique d'une collection ou l'élément isolé qui satisfait à une certaine condition | N'est pas applicable | N'est pas applicable |
SingleOrDefault | Identique à Single sauf qu'il renvoie également une valeur par défaut s'il n'y a pas d'existence d'un tel élément isolé | N'est pas applicable | N'est pas applicable |
DefaultIfEmpty | Renvoie une valeur par défaut si la collection ou la liste est vide ou nulle | N'est pas applicable | N'est pas applicable |
Exemple de ElementAt - Enumerable.ElementAt, méthode
C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
string[] names = { "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
Random random = new Random(DateTime.Now.Millisecond);
string name = names.ElementAt(random.Next(0, names.Length));
Console.WriteLine("The name chosen at random is '{0}'.", name);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim names() As String = _{"Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu"}
Dim random As Random = New Random(DateTime.Now.Millisecond)
Dim name As String = names.ElementAt(random.Next(0, names.Length))
MsgBox("The name chosen at random is " & name)
End Sub
End Module
Lorsque le code ci-dessus de C # ou VB est compilé et exécuté, il produit le résultat suivant -
The name chosen at random is Ito, Shu
Note - Ici, la sortie ci-dessus changera dynamiquement et les noms seront choisis au hasard.
Exemple de méthode First - Enumerable.First
C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 };
int first = numbers.First();
Console.WriteLine(first);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim numbers() As Integer = _{9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19}
Dim first As Integer = numbers.First()
MsgBox(first)
End Sub
End Module
Lorsque le code ci-dessus de C # ou VB est compilé et exécuté, il produit le résultat suivant -
9
Exemple de méthode Last - Enumerable.Last
C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 };
int last = numbers.Last();
Console.WriteLine(last);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim numbers() As Integer = _{9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19};
Dim last As Integer = numbers.Last()
MsgBox(last)
End Sub
End Module
Lorsque le code ci-dessus de C # ou VB est compilé et exécuté, il produit le résultat suivant -
19