Страницы

Поиск по вопросам

вторник, 9 октября 2018 г.

Лямбда выражение как значение по-умолчанию

Надо в GetPersons как значение по-умолчанию передать функцию, всегда возвращающую true, хочется сделать лямбда-выражением. Что тут не так? public IEnumerable GetPersons(Choise func = x => true) { foreach (var u in ManageUsers.GetUsers()) { Person person = new Person(); person.ImportProperties(u); if (func(person)) { yield return person; } } }
private delegate bool Choise(Person person);


Ответ

Ещё вариант - использовать в качестве значения по умолчанию null public IEnumerable GetPersons(Choise func = null) { foreach (var u in ManageUsers.GetUsers()) { Person person = new Person(); person.ImportProperties(u); if ((func ?? (x=>true))(person)) { yield return person; } } }

Комментариев нет:

Отправить комментарий