【发布时间】:2013-05-30 14:43:41
【问题描述】:
我有一个Ids 的列表,我只想在第一个上做一个AND,在后面的一个上做一个OR。过去,我保留了一个counter 变量,当counter 为1 时,我执行And,但之后我执行OR,但我很好奇是否有更简单的方法:
foreach(string id in Ids)
{
predicate.And(x=> id.Contains(x.id)); //I want to do an And only on the first id.
}
这是我过去做的,但是有没有更简洁的方法:
int counter = 1;
foreach (var Id in Ids)
{
string i = Id;
if (counter == 1)
{
predicate = predicate.And(x => i.Contains(x.id));
counter++;
}
else
{
predicate = predicate.Or(x=>i.Contains(x.id));
counter++;
}
}
【问题讨论】:
标签: c# .net-3.5 predicatebuilder