LINQ «MaxOrDefault»?

Я новичок в LINQ. Мне нужно вычислить new_id следующим образом:

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;

Есть ли способ LINQ сжать это выражение, чтобы мне не приходилось использовать ? :структура? Проблема в том, что когда C_Movement.listне содержит элементов, C_Movement.list.Max(x => x.id)возвращает null (и я хотел бы, чтобы он возвращал -1 , вместо).

Спасибо.

26
задан d219 2 May 2019 в 15:29
поделиться