Operadores de elemento em LINQ
Exceto o DefaultIfEmpty, todos os outros oito operadores de elemento de consulta padrão retornam um único elemento de uma coleção.
Operador | Descrição | Sintaxe de expressão de consulta C # | Sintaxe de expressão de consulta VB |
---|---|---|---|
ElementAt | Retorna um elemento presente em um índice específico em uma coleção | Não aplicável | Não aplicável |
ElementAtOrDefault | O mesmo que ElementAt, exceto pelo fato de que também retorna um valor padrão no caso do índice específico estar fora do intervalo | Não aplicável | Não aplicável |
Primeiro | Recupera o primeiro elemento em uma coleção ou o primeiro elemento que satisfaz uma condição específica | Não aplicável | Não aplicável |
FirstOrDefault | O mesmo que Primeiro, exceto pelo fato de que também retorna um valor padrão no caso de não haver tais elementos | Não aplicável | Não aplicável |
Último | Recupera o último elemento presente em uma coleção ou o último elemento que satisfaça uma condição específica | Não aplicável | Não aplicável |
LastOrDefault | Igual ao Último, exceto pelo fato de que também retorna um valor padrão no caso de não haver qualquer um desses elementos | Não aplicável | Não aplicável |
solteiro | Retorna o elemento solitário de uma coleção ou o elemento solitário que satisfaz uma determinada condição | Não aplicável | Não aplicável |
SingleOrDefault | O mesmo que Único, exceto que também retorna um valor padrão se não houver nenhum elemento solitário | Não aplicável | Não aplicável |
DefaultIfEmpty | Retorna um valor padrão se a coleção ou lista estiver vazia ou nula | Não aplicável | Não aplicável |
Exemplo de ElementAt - método 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 o código acima de C # ou VB é compilado e executado, ele produz o seguinte resultado -
The name chosen at random is Ito, Shu
Note - Aqui, a saída acima mudará dinamicamente e os nomes serão escolhidos aleatoriamente.
Exemplo de Primeiro - Método 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 o código acima de C # ou VB é compilado e executado, ele produz o seguinte resultado -
9
Exemplo de último - método 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 o código acima de C # ou VB é compilado e executado, ele produz o seguinte resultado -
19