215 votes

Valeur maximale de retour si la requête est vide

J'ai cette question :

int maxShoeSize = Workers
    .Where(x => x.CompanyId == 8)
    .Max(x => x.ShoeSize);

Ce qui sera dans maxShoeSize si l'entreprise 8 n'a pas de travailleurs du tout ?

UPDATE :
Comment puis-je modifier la requête afin d'obtenir 0 et non une exception ?

0 votes

Naor : avez-vous entendu parler de LINQPad ?

3 votes

Je ne comprends pas pourquoi vous demandez : "Qu'est-ce qui sera dans ? maxShoeSize ?" si vous l'aviez déjà essayé.

0 votes

@jwg : Je suppose que je voulais voir si vous connaissez la réponse :) Finalement, j'ai trouvé une meilleure façon de faire ce que j'ai demandé et c'est ce que je voulais dire.

0voto

Reverend Sfinks Points 11

Vous pourriez vérifier s'il y a des travailleurs avant de faire le Max().

private int FindMaxShoeSize(IList<MyClass> workers) {
   var workersInCompany = workers.Where(x => x.CompanyId == 8);
   if(!workersInCompany.Any()) { return 0; }
   return workersInCompany.Max(x => x.ShoeSize);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X