0
我有以下查詢,查詢中的「main」是前面步驟的結果。Linq查詢中的空引用錯誤不會消失,即使檢查爲null
var query = from a in main.AsEnumerable()
join b in result on a.id equals b.tId into joint
from c in joint.DefaultIfEmpty()
select new weekly()
{
id = a.id,
Mon = a.Mon
MHrs = (c.HoursList.Where(x => x.adt == "Monday")
.Select(y => y.thr).FirstOrDefault())
});
當我運行這個查詢時,我得到了對於MHrs的System.NullReferenceException
。當我評論MHrs時,它運行良好。
我曾嘗試
y => y.thr == null ? null : 0
,但它仍然沒有奏效。
請讓我知道如何解決此查詢運行它沒有空引用異常。由於
你確定你得到NullReferenceException而不是ArgumentNullException?可能是HoursList集合爲空。 –
您是否知道x.adt是否爲空或y.thr爲空?並且y => y.thr == null? null:0應該如下:y => y.thr == null? 0:y.thr –
在c#中默認的引用類型是_null_,所以如果'joint'是_Empty_,'c'是_null_ – Grundy