我想获取记录如下如何在一行中编写以下lambda表达式?
SearchResult.condition为null,则来自获取所有行人士
如果SearchResult.condition是假的,然后取行,其中PersonType列包含空值
如果SearchResult.condition为true,则获取行,其中PersonType列包含
struct SearchResult
{
public string Name;
public bool? condition;
}
Expression<Func<Person, bool>> expression;
if(condition==null)
{
expression= (a =>
(SearchResult.Name==null || a.Name == SearchResult.Name)
);
}
else if(condition.Value == true)
{
expression= (a =>
(SearchResult.Name==null || a.Name == SearchResult.Name)
&& a.PersonType != null)
}
else if(condition.Value == false)
{
expression= (a =>
(SearchResult.Name==null || a.Name == SearchResult.Name)
&& a.PersonType == null)
}
我想写一个表达,而不是使用的if else条件表达式非空值。你可以帮我吗?
你想'condition.Value'的价值在表达时或创建表达式的计算来算?我也猜测这是更大问题的一部分,那是什么问题? – flindeberg 2014-09-05 13:29:35