Jestem nowy w LINQ. Muszę obliczyć zmiennej new_id następująco: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;
Czy istnieje sposób LINQ to kompaktowy, że ekspresja, tak, że nie trzeba używać? „:” Strukturę? Problem polega na tym, że gdy C_Movement.list nie zawiera żadnych elementów, C_Movement.list.Max (x => x.id) zwraca null (i chciałbym, aby zamiast tego zwrócił -1).
Dziękuję.
Jak może zwrócić wartość null, gdy zwraca liczbę całkowitą? – MikeP
Dla przyszłego odniesienia struktura "?:" Jest w rzeczywistości nazywana * operatorem warunkowym * (w dokumentach MSDN), ale większość ludzi nazywa to * operatorem potrójnym. * :) –