Условное лямбда-выражение? - PullRequest
1 голос
/ 13 октября 2010

У меня есть лямбда-выражение, которое в настоящее время выглядит следующим образом:

item => Reports.Add(item)

Я хочу изменить его так, чтобы оно было условным, и в основном проверяет, что Reports.Contains (item) возвращает false, затем выполняетОтчеты. Добавить (элемент) действие.Можно ли это сделать, используя все лямбда-выражения в одной строке?

Крис

Ответы [ 3 ]

8 голосов
/ 13 октября 2010
Action<ItemType> action = item => { if(!Reports.Contains(item)) Reports.Add(item);};

Это должно сработать, но это действительно зависит от того, как вы определяете «одну строку».

5 голосов
/ 13 октября 2010

альтернатива предложению Ани: сделайте Reports HashSet.

0 голосов
/ 13 октября 2010

Вы можете разделить несколько строк в своей лямбде точкой с запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...