セットが空の場合にデフォルト値を設定.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??
1に設定しているので、これは直感的ではないように思え.DefaultIfEmpty()
ます。なぜ 1 が出力されないのですか?