(OBS: Este post é continuação do artigo LINQ Extensions)

Single: Retorna um único elemento de uma coleção ou gera uma exceção se não houver apenas um elemento que satisfaça a condição da expressão lambda.

// Single: Retorna um único elemento de uma coleção ou 
//         gera uma exceção se não há apenas um elemento 
//         que satisfaça a condição da expressão lambda.

// Exemplo 1: com erro, pois exitem 2 pessoas com 32 anos
try
{
    Pessoa pessoaSingle1 = Pessoas.Single(p => p.Idade == 32);
    Console.WriteLine(pessoaSingle1.Nome);
}
catch (Exception ex)
{
    Console.WriteLine("Erro: {0}", ex.Message);
}
// Resultado no console:
// Erro: Sequence contains more than one matching element

// Exemplo 2: José é o único com 28 anos
Pessoa pessoaSingle2 = Pessoas.Single(p => p.Idade == 28);
Console.WriteLine(pessoaSingle2.Nome);
// Resultado no console:
// José
Anúncios