0
У меня есть список Ids
, и я только хочу сделать AND
на первом и OR
на последующих. В прошлом, я держал counter
переменную и когда counter
является 1, я делаю And
, но после того, что я делаю OR
, но мне было интересно, если есть более простой способ:Комбинировать и/или с PredicateBuilder?
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++;
}
}
Тот, у кого есть И, дает мне ошибку: '{« Невозможно создать постоянное значение типа «Тип закрытия». В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid). "}'. Ids - это строка [] – Xaisoft
@xaisoft: в какой строке это ошибка? '' И 'Or' ? – Pondidum
Строка с 'AND' – Xaisoft