Operatori elemento in LINQ
Ad eccezione di DefaultIfEmpty, tutti gli altri otto operatori di elementi di query standard restituiscono un singolo elemento da una raccolta.
Operatore | Descrizione | Sintassi delle espressioni di query C # | Sintassi delle espressioni di query VB |
---|---|---|---|
ElementAt | Restituisce un elemento presente all'interno di un indice specifico in una raccolta | Non applicabile | Non applicabile |
ElementAtOrDefault | Uguale a ElementAt tranne per il fatto che restituisce anche un valore predefinito nel caso in cui l'indice specifico sia fuori intervallo | Non applicabile | Non applicabile |
Primo | Recupera il primo elemento all'interno di una raccolta o il primo elemento che soddisfa una condizione specifica | Non applicabile | Non applicabile |
FirstOrDefault | Uguale a First tranne per il fatto che restituisce anche un valore predefinito nel caso in cui non esistano tali elementi | Non applicabile | Non applicabile |
Scorso | Recupera l'ultimo elemento presente in una raccolta o l'ultimo elemento che soddisfa una condizione specifica | Non applicabile | Non applicabile |
LastOrDefault | Uguale a Last tranne per il fatto che restituisce anche un valore predefinito nel caso in cui non esista alcun elemento di questo tipo | Non applicabile | Non applicabile |
Single | Restituisce l'elemento solitario di una raccolta o l'elemento solitario che soddisfa una determinata condizione | Non applicabile | Non applicabile |
SingleOrDefault | Uguale a Single tranne per il fatto che restituisce un valore predefinito se non esiste alcun elemento solitario di questo tipo | Non applicabile | Non applicabile |
DefaultIfEmpty | Restituisce un valore predefinito se la raccolta o l'elenco è vuoto o nullo | Non applicabile | Non applicabile |
Esempio di ElementAt: metodo Enumerable.ElementAt
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
Quando il codice precedente di C # o VB viene compilato ed eseguito, produce il seguente risultato:
The name chosen at random is Ito, Shu
Note - Qui, l'output di cui sopra cambierà dinamicamente e i nomi verranno scelti in modo casuale.
Esempio di metodo 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
Quando il codice precedente di C # o VB viene compilato ed eseguito, produce il seguente risultato:
9
Esempio di metodo 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
Quando il codice precedente di C # o VB viene compilato ed eseguito, produce il seguente risultato:
19