Paradigmas C #: efeitos colaterais nas listas
Estou tentando melhorar minha compreensão dos efeitos colaterais e como eles devem ser controlados e aplicado
Na lista de vôos a seguir, desejo definir uma propriedade de cada voo que satisfaça as condições:
IEnumerable<FlightResults> fResults = getResultsFromProvider();
//Set all non-stop flights description
fResults.Where(flight => flight.NonStop)
.Select(flight => flight.Description = "Fly Direct!");
Nesta expressão, tenho um efeito colateral na minha lista. Pelo meu conhecimento limitado, eu sei por ex. "LINQ é usado para consultas only "e" Existem apenas algumas operações nas listas e atribuindo ou definir valores não é um deles "e" as listas devem ser imutáveis ".
O que há de errado com a minha declaração LINQ acima e como ela deve ser alterada?Onde posso obter mais informações sobre oaradigmas fundamentais no cenário que descrevi acima?