This answer cho một câu hỏi khác của tôi không biên dịch, mặc dù trên bề mặt có vẻ như nó nên (đây không phải là cùng một câu hỏi, tôi có thể viết lại câu trả lời khác để làm việc cho câu hỏi khác của tôi).Null Coalescence và Lambdas
Với
private Func<MyT, bool> SegmentFilter { get; set; }
public MyConstructor(Func<MyT, bool> segmentFilter = null)
{
// This does not compile
// Type or namespace mas could not be found
SegmentFilter = segmentFilter ?? (mas) => { return true; };
// This (equivalent?) form compiles just fine
if (segmentFilter == null)
{
SegmentFilter = (mas) => { return true; };
}
else
{
SegmentFilter = segmentFilter;
}
}
Tại sao trình biên dịch chạy vào rắc rối với các nhà điều hành coalescent null, nhưng không phải với nếu/phiên bản khác cú pháp-đường-miễn phí?
Cảm ơn. Câu trả lời "khác" cũng là của bạn. Tôi chỉnh sửa nó để làm cho nó biên dịch ;-) –