Como melhorar esse código? Tenho duvida de como o cliente usaria o código de Barras para interagir com o estoque e valor de compra criado.
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!
Como melhorar esse código? Tenho duvida de como o cliente usaria o código de Barras para interagir com o estoque e valor de compra criado.
Opa, Você pode usar o linq para fazer a busca:
Produto.cs:
namespace ConsoleApp1 {
public class Produto {
public string nome;
public string fabricante;
public float codigoDeBarras;
public double valorUnitario;
public double valorDeCompra;
public int quantidade;
}
}Program.cs:
namespace ConsoleApp1 {
class Program {
public static void Main(string[] args)
{
// Crio uma lista e inicio ela vazia
List<Produto> Produtos = new List<Produto>();
Produto Produto1 = new Produto();
Produto1.nome = "Banana Nanica";
Produto1.fabricante = "MD Alimentos";
Produto1.codigoDeBarras = 001;
Produto1.valorUnitario = 2.25;
Produto1.valorDeCompra = 1.75;
Produto1.quantidade = 80;
Produto Produto2 = new Produto();
Produto2.nome = "Cenoura";
Produto2.fabricante = "MD Alimentos";
Produto2.codigoDeBarras = 002;
Produto2.valorUnitario = 1.90;
Produto2.valorDeCompra = 1.25;
Produto2.quantidade = 70;
Produto Produto3 = new Produto();
Produto3.nome = "Batata";
Produto3.fabricante = "MD Alimentos";
Produto3.codigoDeBarras = 003;
Produto3.valorUnitario = 2.50;
Produto3.valorDeCompra = 1.85;
Produto3.quantidade = 20;
// Para ficar mais fácil de vc entender, mantive a mesma estrutura do seu código, adicionando seus produtos a lista criada acima
Produtos.Add(Produto1);
Produtos.Add(Produto2);
Produtos.Add(Produto3);
// Utilizo o linq para pesquisar na lista quando a condição é igual a 003 e retorno esse produto para a variável produtoTemp
Produto produtoTemp = (from produto in Produtos
where produto.codigoDeBarras == 003
select produto).SingleOrDefault();
Console.WriteLine(produtoTemp.nome);
}
}
}