Theo tôi hiểu, trong Linq phương thức FirstOrDefault()
có thể trả về Default
giá trị của một thứ khác không phải là null. Điều tôi chưa giải quyết được là những thứ khác ngoài null có thể được trả về bằng phương thức (và tương tự) này khi không có mục nào trong kết quả truy vấn. Có cách nào cụ thể mà điều này có thể được thiết lập để nếu không có giá trị cho một truy vấn cụ thể, một số giá trị được xác định trước được trả về làm giá trị mặc định không?
MyCollection.Last().GetValueOrDefault(0)
cho điều đó. Nếu không, câu trả lời @Jon Skeet dưới đây là IMO đúng.
YourCollection.FirstOrDefault()
, bạn có thể sử dụngYourCollection.DefaultIfEmpty(YourDefault).First()
ví dụ.