#c_sharp #linq
Есть конструкция вида List> которая используется для формирования строки. Строку формирую так var val = String.Join(",", insert_res.Where(d => d.Item3 == 0) .Select(d => "'" + d.Item2 + "'")); Но в зависимости от значения второго строкового параметра мне надо возвращать не в кавычках "'" + d.Item2 + "'", а например в круглых скобках, возможно поместить туда проверку?
Ответы
Ответ 1
Есть несколько вариянтов. Можно использовать тернарный оператор: 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 + ")"; }));
Комментариев нет:
Отправить комментарий