Sono nuovo di LINQ. Ho bisogno di calcolare new_id come segue:LINQ "MaxOrDefault"?
public class C_Movement
{
public int id=-1;
public static ObservableCollection<C_Movement> list=new ObservableCollection<C_Movement>();
// ...
}
int new_id = (C_Movement.list.Count==0) ? 0 : C_Movement.list.Max(x => x.id)+1;
Esiste un modo per compattare LINQ quell'espressione, in modo che io non devo usare il ":" struttura? Il problema è che, quando C_Movement.list non contiene elementi, C_Movement.list.Max (x => x.id) restituisce null (e mi piacerebbe che restituisse -1, invece).
Grazie.
metodo
Come può restituire null quando restituisce un intero? – MikeP
Per riferimento futuro, la struttura "?:" Viene in realtà chiamata * l'operatore condizionale * (nei documenti MSDN), ma la maggior parte della gente lo chiama * l'operatore ternario. * :) –