Je l'expression LINQ suivante:LINQ ne somme pas un groupe avec un flotteur? propriété
pantry = (from p in items
group p by p.IngredientId into g
select new PantryItem() { IngredientId = g.Key, Amt = g.Sum(p => p.Amt) });
En gros, j'essaie de supprimer les doublons d'un tableau en additionnant leurs montants totaux. Donc, si j'ai 2 articles de IngredientId x, un avec Amt 5 et l'autre avec Amt 10, je veux un seul élément de Ingrédient x avec le Amt 15. Assez facile non? Maintenant, pour tout casser complètement, Amt
est en fait un float?
, pas un float
. Cependant, quand je Sum
un groupe avec tous les montants null
, je reçois 0.0
au lieu de null
.
Voici ce que je veux:
x - null
x - null
y - 5
y - 10
z - 10
z - null
Si convertir:
x - null
y - 15
z - 10
Mais au lieu-je obtenir:
x - 0.0
y - 15
z - 10
est-il un moyen de re-travailler ma requête LINQ pour faciliter cela? Espérons que ma question est assez clair :)
Bien est 'Amt' dans' PantryItem' de type Nullable? Je pense que ce n'est probablement pas – V4Vendetta
'Amt' est un' float? ' –