Cambiar algún valor dentro de la Lista <T>
Tengo alguna lista (donde T es una clase personalizada y la clase tiene algunas propiedades). Me gustaría saber cómo cambiar uno o más valores dentro de él utilizando Expresiones Lambda, por lo que el resultado será el mismo que el siguiente bucle de foreach:
NOTA: la lista contiene varios elementos dentro (varias filas)
foreach (MyClass mc in list)
{
if (mc.Name == "height")
mc.Value = 30;
}
Y esta es la consulta de linq (usando expresiones Lambda), pero no es lo mismo que el bucle foreach superior, ¡solo devuelve 1 elemento (una fila) de la lista!
Lo que quiero es que devuelva todos los elementos (todas las filas) y SOLAMENTE cambie el adecuado (los elementos especificados en el (los) método (s) de extensión DÓNDE).
list = list.Where(w => w.Name == "height").Select(s => { s.Value = 30; return s; }).ToList();
NOTA: estos 2 ejemplos no son lo mismo! Repito, el linq solo devuelve 1 elemento (una fila), y esto es algo que no quiero, también necesito todos los elementos de la lista (como foreach loop, solo hace cambios, pero no elimina ningún elemento).