У меня есть список (где T - пользовательский класс, а класс имеет некоторые свойства). Я хотел бы знать, как изменить одно или несколько значений в нем, используя выражения Lambda Expressions, поэтому результат будет таким же, как и следующий цикл foreach:
ПРИМЕЧАНИЕ: список содержит несколько элементов внутри (несколько строк)
foreach (MyClass mc in list)
{
if (mc.Name == "height")
mc.Value = 30;
}
И этот запрос linq (с использованием выражений Lambda), но не тот, что и верхний цикл foreach, возвращает только один элемент (одна строка) из списка!
Я хочу, чтобы он возвращал все элементы (все строки) и ТОЛЬКО chnages соответствующий (элементы, указанные в методах (расширениях) расширения WHERE.
list = list.Where(w => w.Name == "height").Select(s => { s.Value = 30; return s; }).ToList();
ПРИМЕЧАНИЕ: эти два примера не совпадают! Повторяю, linq возвращает только 1 элемент (одна строка), и это то, чего я не хочу, мне нужны все элементы из списка (например, цикл foreach, он только делает изменения, но не удаляет какой-либо элемент).