Qual é a diferença entre single e SingleOrDefault no Linq?
Qual é a diferença entre single e SingleOrDefault no Linq?

Vídeo: Qual é a diferença entre single e SingleOrDefault no Linq?

Vídeo: Qual é a diferença entre single e SingleOrDefault no Linq?
Vídeo: FirstOrDefault() vs SingleOrDefault() in C# LINQ | First vs Single 2024, Maio
Anonim

Solteiro () - Há exatamente 1 resultado, uma exceção é lançada se nenhum resultado for retornado ou mais de um resultado. SingleOrDefault () - Igual a Solteiro (), mas pode lidar com o valor nulo. First () - Há pelo menos um resultado, uma exceção é lançada se nenhum resultado for retornado.

Desse modo, quais são as diferenças entre os métodos single () e SingleOrDefault ()?

o Método SingleOrDefault () faz a mesma coisa que Método único () . O único diferença é que ele retorna o valor padrão do tipo de dados de uma coleção se uma coleção estiver vazia, incluir mais de um elemento ou não encontrar nenhum elemento ou mais de um elemento para a condição especificada.

Além disso, o que é único ou padrão no Linq? Diferença semântica: FirstOrDefault retorna um primeiro item potencialmente múltiplo (ou predefinição se não existir). SingleOrDefault assume que existe um solteiro item e o devolve (ou predefinição se não existir). Vários itens são uma violação do contrato, uma exceção é lançada.

Conseqüentemente, qual é a diferença entre o primeiro e o único no Linq?

Primeiro () irá lançar se não conseguir encontrar o primeiro valor correspondente, Solteiro () irá lançar se não puder encontrar o valor e se houver mais de um elemento correspondente na sequência de entrada. Portanto, eles têm funções irmãs chamadas FirstOrDefault () e SingleOrDefault ().

Qual é a diferença entre o método de extensão FirstOrDefault () e SingleOrDefault () no Linq?

Introdução. o Método SingleOrDefault () retorna um único elemento específico de uma sequência ou valor padrão se esse elemento não for encontrado no seqüência. o Método FirstOrDefault () retorna um primeiro elemento específico de uma sequência ou valor padrão se esse elemento não for encontrado no seqüência.

Recomendado: