Страницы

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

воскресенье, 21 октября 2018 г.

Условие If в лямбда выражении

Есть конструкция вида List> которая используется для формирования строки. Строку формирую так
var val = String.Join(",", insert_res.Where(d => d.Item3 == 0) .Select(d => "'" + d.Item2 + "'"));

Но в зависимости от значения второго строкового параметра мне надо возвращать не в кавычках "'" + d.Item2 + "'", а например в круглых скобках, возможно поместить туда проверку?


Ответ

Есть несколько вариянтов.
Можно использовать тернарный оператор:
var val = String.Join(",", insert_res .Where(d => d.Item3 == 0) .Select(d => condition ? "'" + d.Item2 + "'" : "(" + d.Item2 + ")"));
Тоже можно использовать ламбда блок вместо ламбда выражения:
var val = String.Join(",", insert_res .Where(d => d.Item3 == 0) .Select(d => { if (condition) { return "'" + d.Item2 + "'"; } return "(" + d.Item2 + ")"; }));

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

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