C# 如何在linq中对`item.GetType().GetProperty(getPropertyStringParameter)`进行null检查
如何检查空值,例如C# 如何在linq中对`item.GetType().GetProperty(getPropertyStringParameter)`进行null检查,c#,linq,C#,Linq,如何检查空值,例如 if(item.GetType().GetProperty(getPropertyStringParameter)!=null)用于C#中的以下linq查询 查看空条件运算符:查看空条件运算符: matchingConfigItem = (from item in contextEnum where item.GetType().GetProperty(getPropertyStringParameter).GetVa
if(item.GetType().GetProperty(getPropertyStringParameter)!=null)
用于C#中的以下linq查询
查看空条件运算符:查看空条件运算符:
matchingConfigItem = (from item in contextEnum
where item.GetType().GetProperty(getPropertyStringParameter).GetValue(item)
.Equals(configItem.GetType().GetProperty(getPropertyStringParameter)
?.GetValue(configItem))
select item).SingleOrDefault();
matchingConfigItem = (
from item in contextEnum
let itemProp = item.GetType().GetProperty(getPropertyStringParameter)
let configProp = configItem.GetType().GetProperty(getPropertyStringParameter)
where itemProp != null && configProp != null && itemProp.GetValue(item)
.Equals(configProp.GetValue(configItem))
select item
)
.SingleOrDefault();