Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Dúvida sobre a aula Percorrendo Coleções do curso de C# Manipulando Dados com coleções e LINQ.

Prezados, boa tarde.

Estou fazendo o curso de C# manipulando dados com coleções da Alura, e estou na aula de percorrendo coleções, fiz o exemplo tudo certinho, mas teve um momento que coloquei a instrução for após a declaração da classe Produto e deu erro, então eu movi o código para depois da declaração da List, eu gostaria de saber o porquê desse erro. Desde já agradeço.

1 resposta

Olá, Marcos! Como vai?

Isso ocorre porque, em C#, você não pode executar código diretamente dentro do escopo de uma classe, exceto em métodos, construtores, ou inicializadores de campo.

Quando você declara uma classe, como a Produto, você está apenas definindo um tipo de dado, e não pode executar instruções de controle de fluxo como for fora de um método ou bloco de inicialização. O código que manipula dados, como percorrer uma coleção com um for, deve estar dentro de um método. Por exemplo, você poderia ter algo assim:

public class Produto
{
    public string Nome { get; set; }
    public decimal Preco { get; set; }
}

public class Program
{
    public static void Main(string[] args)
    {
        List<Produto> produtos = new List<Produto>
        {
            new Produto { Nome = "Produto1", Preco = 10.0m },
            new Produto { Nome = "Produto2", Preco = 20.0m }
        };

        for (int i = 0; i < produtos.Count; i++)
        {
            Console.WriteLine(produtos[i].Nome);
        }
    }
}

No exemplo acima, a instrução for está dentro do método Main, que é um ponto de entrada válido para executar o código.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.