Digamos que você receba o seguinte ...
List<Thing> theThings = fubar.Things.All();
Se não houvesse nada para retornar, o que você esperaria que fubar.Things.All () retornasse?
Edit: Obrigado pelas opiniões. Vou esperar um pouco e aceitar a entrada com mais altos.
Eu concordo com as respostas até agora, principalmente as que sugerem uma coleção vazia. Um fornecedor forneceu à API várias chamadas semelhantes ao exemplo acima. Um fornecedor que faturou US $ 4,6 milhões em receita por meio de suas APIs no ano passado, a BTW. Eles fazem algo que eu discordo fundamentalmente - eles lançam uma exceção.
Things? Se faz sentido que o Thingscampo retorne nulo, faz sentido receber uma exceção porque você não procurou nulo antes de ligar para All(). No entanto, concordo com as pessoas que pensam que fubar.Thingsdevem retornar uma coleção vazia em vez de nula.