Você sabe a diferença do Any(), Contains() e Exists()?
- #.NET
- #.NET C#
Any()
- Método de extensão do namespace System.Linq.
- Introduzido com o .NET Framework 3.5.
- Funciona com qualquer coleção enumerável.
- Pode receber Func<T, bool> como parâmetro (equivalente a Predicate<T>).
- Possui uma versão sem parâmetros que verifica se a coleção contém algum elemento (Count > 0).
- Exemplo de uso:
bool existe = lista.Any(x => x == 2 || x == 3);
Contains()
- Método padrão de List<T>.
- Recebe um elemento (T) como parâmetro.
- Exemplo de uso:
bool existe = lista.Contains(1);
Exists()
- Método padrão de List<T>.
- Recebe um Predicate<T> como parâmetro.
- Útil para realizar múltiplas validações.
- Evita a necessidade de várias chamadas de Contains().
- Exemplo de uso:
bool exists = lista.Exists(x => x == 1 || x == 3);
Observações Gerais
- Any() e Contains()
- Funcionam com qualquer coleção enumerável.
- Ambos são métodos de verificação de existência de elementos.
- Exists()
- Específico para List<T>.
- Aceita Predicate<T> para realizar validações complexas.
-Diferenças nos Parâmetros
- Any(): Func<T, bool> (ou Predicate<T>).
- Contains(): Elemento (T).
- Exists(): Predicate<T>.