當我設置一個默認值,如果設置爲空,並呼籲.FirstOrDefault()
與不滿足我沒有收到我的默認值的條件,但類型的默認值: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?
整數的默認值(因爲沒有找到)是一個0. –
爲什麼不用我使用'.DefaultIfEmpty'設置的值,因爲沒有返回的值符合條件? –
因爲'DefaultIfEmpty'適用於'list'而不是結果。 – Romoku