LINQ primeiro

Resumo : neste tutorial, você aprenderá como usar o First()método LINQ para encontrar o primeiro elemento em uma sequência que satisfaça uma condição.

Introdução ao método LINQ First()

O First()é um método de extensão LINQ que retorna o primeiro elemento em uma sequência que satisfaz uma condição.

Aqui está a sintaxe do First()método:

public static TSource First<TSource>(
    this IEnumerable<TSource> source
);Linguagem de código:  C#  ( cs )

Nesta sintaxe:

  • TSourceé o tipo de elementos na sourcesequência.
  • sourceé a sequência de entrada com o tipo IEnumerable<T>.

O método retorna o primeiro elemento da sourcesequência com o tipo TSource.

Se source for null, o método lança um ArgumentNullException. Além disso, se sourceestiver vazio, o método lança um InvalidOperationException.

Para especificar uma condição, você usa uma sobrecarga do First()método como esta:

public static TSource First<TSource>(
    this IEnumerable<TSource> source,
    Func<TSource,bool> predicate
);Linguagem de código:  C#  ( cs )

A predicateé uma função que testa cada elemento para uma condição.

O método lança um erro InvalidOperationExceptionse não conseguir encontrar nenhum elemento que satisfaça a condição.

Em geral, o método lança um erro InvalidOperationExceptionse o elemento sourceis emptyou nenhum satisfaz uma condição. Para evitar a exceção, você pode usar o FirstOrDefault()método.

O FirstOrDefault()método retorna o primeiro elemento de uma sequência. Se não for possível encontrar nenhum elemento que satisfaça uma condição, ele retornará um valor padrão.

Exemplos de métodos LINQ First()

Vejamos alguns exemplos de uso do First()método LINQ.

1) Usando o método LINQ First() com uma condição especificada

O exemplo a seguir demonstra como usar o First()método para encontrar o número do primeiro elemento em uma lista de números:

using static System.Console;

List<int> numbers = new() { 1, 3, 7, 2, 8, 6 };

int firstEvenNumber = numbers.First(n => n % 2 == 0);

WriteLine($"The first even number is: {firstEvenNumber}");Linguagem de código:  C#  ( cs )

Neste exemplo, o First()método retorna/o primeiro número par devido à condição na expressão lambda:

n => n % 2 == 0Linguagem de código:  C#  ( cs )

2) Usando o método LINQ FirstOrDefault() para lidar com exceções

Se nenhum elemento em uma sequência satisfizer uma condição, o First()método lança uma exceção.

Para evitá-lo, você pode usar o FirstOrDefault()método. Por exemplo:

using static System.Console;

List<int> numbers = new (){ 1, 3, 5  };

int firstEvenNumber = numbers.FirstOrDefault(n => n % 2 == 0);

WriteLine($"The first even number is: {firstEvenNumber}");Linguagem de código:  C#  ( cs )

Saída:

The first even number is: 0Linguagem de código:  C#  ( cs )

Neste exemplo, a lista de números contém apenas números ímpares. Portanto, o FirstOrDefault()método retorna um valor padrão de um número inteiro, que é zero.

Resumo

  • Use o método LINQ First()para encontrar o primeiro elemento de uma sequência que satisfaça uma condição especificada.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *