当我设置默认值(如果集合为空)并.FirstOrDefault()
使用不满足的条件调用时,我没有获得默认值,而是类型的默认值:
int[] list = { 1, 2, 3, 4, 5 };
Console.WriteLine(list.DefaultIfEmpty(1).FirstOrDefault(i => i == 4)); // Outputs 4, as expected
Console.WriteLine(list.DefaultIfEmpty(1).FirstOrDefault(i => i > 5)); // Outputs 0, why??
这似乎不直观,因为我设置.DefaultIfEmpty()
为 1。为什么不输出 1?