Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Preciso de ajuda no metodo Where sobre linq

Aprendi o metodo Where, mais nao entendi muito bem o seu retorno e funcionamento, segue o codigo de um exemplo:

public void MostrarContas(List<ContaCorrente> contas, double saldoMinimo)
{
    var contasFiltradas = contas.Where(c => c.Saldo >= saldoMinimo);
    foreach(var conta in contasFiltradas)
    {
        Console.WriteLine($"{conta.Numero}/{conta.Agencia}");
    }
}

nao consegui entender se ele retorna uma lista ordenada da maneira que esta sendo passada no argumento ou oque seria, se alguem conseguir me explicar.

1 resposta
solução!

O where é basicamente um tipo de filtro ou criterio. Quando voce tem uma lista e quer valores espcificos dela voce usa o where para lhe trazer valores que você quer ou precisa. No exemplo do seu código, ele pega uma lista de contas correntes e filtra contas correntes que tem um valor maior ou igual ao SaldoMinimo. Acredito que vai mostrar na mesma ordem que o da lista inicial, mas se voce quiser ordenar o resultado voce pode usar o OrderBy(), que neste caso ficaria da seguinte forma: var contasFiltradas = contas.Where(c => c.Saldo >= saldoMinimo).OrderBy(i=>i.Saldo) O resultado seria o ordenando o valor do saldo da lista do menor pro maior.

Quando voce usa o Where, voce vai preciar armazenar o resultado em alguma variavel neste caso a contasFiltradas, mas se quiser voce pode tambem reaproveitar a variavel que ficaria contas = contas.Where(c => c.Saldo >= saldoMinimo) (cuidado com isso)