Pelo que entendi, no Linq o método FirstOrDefault()
pode retornar um Default
valor de algo diferente de nulo. O que ainda não descobri é que tipo de coisa diferente de nulo pode ser retornada por esse método (e semelhante) quando não há itens no resultado da consulta. Existe alguma maneira específica de configurar isso para que, se não houver valor para uma consulta específica, algum valor predefinido seja retornado como o valor padrão?
MyCollection.Last().GetValueOrDefault(0)
para isso. Caso contrário, a resposta de @Jon Skeet abaixo está correta na IMO.
YourCollection.FirstOrDefault()
, você poderia usarYourCollection.DefaultIfEmpty(YourDefault).First()
por exemplo.