Ho la seguente espressione LINQ:LINQ non somma un gruppo con un float? struttura
pantry = (from p in items
group p by p.IngredientId into g
select new PantryItem() { IngredientId = g.Key, Amt = g.Sum(p => p.Amt) });
Fondamentalmente, sto cercando di rimuovere i duplicati da un array sommando loro importo totale. Quindi, se ho 2 elementi di IngredientId x, uno con Amt 5 e l'altra con Amt 10, voglio un singolo elemento di Ingrediente x con la Amt 15. Abbastanza facile vero?
Ora, per rompere completamente tutto, Amt
è in realtà un float?
, non uno float
. Tuttavia, quando I Sum
un gruppo con tutti gli importi null
, ottengo 0.0
anziché null
.
Ecco quello che voglio:
x - null
x - null
y - 5
y - 10
z - 10
z - null
devono essere convertite in:
x - null
y - 15
z - 10
Ma invece io ottenere:
x - 0.0
y - 15
z - 10
C'è un modo per ri-lavorare il mio query LINQ per facilitare questo? Spero che la mia domanda è abbastanza chiaro :)
Bene è 'Amt' in' PantryItem' di tipo Nullable? Penso che non sia probabilmente – V4Vendetta
'Amt' è un' float? ' –