Alterar algum valor dentro da List <T>
Eu tenho uma lista (onde T é uma classe personalizada e a classe tem algumas propriedades). Eu gostaria de saber como alterar um ou mais valores dele usando Lambda Expressions, então o resultado será o mesmo que o loop foreach abaixo:
NOTA: lista contém vários itens dentro (várias linhas)
foreach (MyClass mc in list)
{
if (mc.Name == "height")
mc.Value = 30;
}
E esta é a consulta do linq (usando expressões Lambda), mas não é o mesmo que o loop foreach superior, só retorna 1 item (uma linha) da lista!
O que eu quero é que ele retorne todos os itens (todas as linhas) e APENAS chnages o apropriado (os itens especificados no (s) método (s) de extensão WHERE.
list = list.Where(w => w.Name == "height").Select(s => { s.Value = 30; return s; }).ToList();
NOTA: estes dois exemplos não são os mesmos! Repito, o linq só retorna 1 item (uma linha), e isso é algo que eu não quero, eu preciso de todos os itens da lista também (como foreach loop, ele só faz mudanças, mas não remove nenhum item).