LINQ Último

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

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

O método LINQ Last()retorna o último elemento de uma sequência que satisfaz uma condição.

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

public static TSource Last<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 último elemento da sourcesequência.

Se sourcefor null, o método lançará um ArgumentNullException. Além disso, se sourceestiver vazio, o método lançará um InvalidOperationException.

Se você quiser encontrar o último elemento que satisfaça uma condição, você pode usar uma sobrecarga do Last()método como esta:

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

Nesta sintaxe, the predicateé uma função que testa cada elemento quanto a uma condição.

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

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

O LastOrDefault()método retorna o último 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 do método LINQ Last()

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

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

O exemplo a seguir demonstra como usar o Last()método para encontrar o último número par em uma lista de números:

using static System.Console;

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

int lastEvenNumber = numbers.Last(n => n % 2 == 0);

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

Saída:

6

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

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

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

Se nenhum elemento em uma sequência satisfizer uma condição, o Last()método lança uma exceção. Para evitá-lo, você pode usar o LastOrDefault()método. Por exemplo:

using static System.Console;

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

int lastEvenNumber = numbers.LastOrDefault(n => n % 2 == 0);

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

Saída:

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

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

Resumo

  • Use o método LINQ Last()para encontrar o último 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 *