Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > оператор выбора в лямбда операторе


Автор: Stas123 13.7.2011, 17:02
у меня есть такой код
Код

q => new Man(q)

я хочу, чтобы он в зависимости от условия возвращал либо объект, либо null.
Я написла так, но он говорит что ошибка
Код

q => {q.Done== Starus.OK ? new Man(q) : null }

Как это правильно сделать?

Автор: jonie 13.7.2011, 18:41
а собственно так не работает чтоли как у вас?
Код

Func<object> a = () => (1 == 2 ? new MainWindow() : null);
вполне будет работать..

Автор: Stas123 14.7.2011, 10:08
спасибо, заработало. у меня фигурные скобки были вместо круглых.
Можно ли сделать что0то наподобие этого?
Код

Select(q => ( if(q.Done == Status.OK ) new Man(q) ))

Автор: AlexNagits 14.7.2011, 20:46
Код

Select(q => 
{
     if(q.Done == Status.OK) 
           return new Man(q);
     else
           return null;
}

Автор: Stas123 15.7.2011, 10:42
нет. Мне нужно чтобы либо создавался объект или чтобы вообще ничего не создавалось. Даже null.

Автор: AlexNagits 17.7.2011, 15:23
Пользуйтесь Where...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)