используя А в предикате для лямбда-выражения - PullRequest
0 голосов
/ 29 июня 2009

как использовать «И» в предикате в лямбда-выражении. Я пытаюсь достичь чего-то вроде это
новый Class1 («Тест», Status => Status == 18 && 19 && 20)

Пожалуйста, ответьте

Спасибо Sharath

Ответы [ 2 ]

10 голосов
/ 29 июня 2009

Вы должны разбить свое условное утверждение на 3 разных оценки - вы не можете объединить их, как вы.

Status => Status == 18 && Status == 19 && Status == 20

Хотя, я предполагаю, что вам нужен оператор или, потому что Status не может иметь значения 18, 19 и 20. Если вы пытаетесь сделать битовую маску, вам нужен оператор &, и даже тогда битовая маска из 18, 19 и 20 не имеет большого смысла для меня (хотя, кто знает ваш вариант использования).

Status => Status == 18 || Status == 19 || Status == 20
0 голосов
/ 29 июня 2009

Хороший ответ до сих пор - рассмотрим также .Any

List<int> favNumbers = new List<int>(18, 19, 20);
Func<int, bool> pred =
  Status => favNumbers.Any(f => f == Status) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...