LINQ "MaxOrDefault"?

16 浏览
0 Comments

LINQ "MaxOrDefault"?

我对LINQ还不熟悉。我需要按照以下方式计算new_id:

public class C_Movement
{
  public int id = -1;
  public static ObservableCollection list = new ObservableCollection();
  // ...
}
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)。

谢谢。

0