C# List Console

Asked

Viewed 98 times

0

How do I display only the third values of the list, in case the ("500, 900, 2000, 1500, 2000).

And how I do this same process to display only the third values of the list that has associated the second value of the list equal to "Rectangular table".

produtos.Add(new Produto(1001, "Cadeira simples", 500));
produtos.Add(new Produto(1002, "Cadeira acolchoada", 900));
produtos.Add(new Produto(1003, "Sofa de três lugares", 2000));
produtos.Add(new Produto(1004, "Mesa retangulares", 1500));
produtos.Add(new Produto(1005, "Mesa retangular", 2000));
  • produtos.ForEach( x => Console.WriteLine(x.[terceirocampo])); where [third-right] is the property of the class passed as 3 parameter in the product builder

1 answer

0


One of the ways is by using Linq.

In the example below I used the Where to select only "Rewinder table" item and the Select to create a list only with the quantity property.

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{

    class Produto
    {
        public  Produto(int id, string nome,double quantidade)
        {
            this.id=id;
            this.nome=nome;
            this.quantidade=quantidade;
        }

        public int id {get;set;}
        public string nome {get;set;}
        public double quantidade {get;set;}

    }
    public static void Main()
    {
        List<Produto> produtos =new List<Produto>();
        produtos.Add(new Produto(1001, "Cadeira simples", 500));
        produtos.Add(new Produto(1002, "Cadeira acolchoada", 900));
        produtos.Add(new Produto(1003, "Sofa de três lugares", 2000));
        produtos.Add(new Produto(1004, "Mesa retangulares", 1500));
        produtos.Add(new Produto(1005, "Mesa retangular", 2000));

        var quantidades = produtos.Where(w=>w.nome=="Mesa retangular").Select(s=>s.quantidade);
        foreach (double qtd in quantidades)
            Console.WriteLine("Quantidade : {0}",qtd);


    }
}

See worked on .NET Fiddle

If you just wanted to create a list with the quantity property, use Select, like this:

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{

    class Produto
    {
        public  Produto(int id, string nome,double quantidade)
        {
            this.id=id;
            this.nome=nome;
            this.quantidade=quantidade;
        }

        public int id {get;set;}
        public string nome {get;set;}
        public double quantidade {get;set;}

    }
    public static void Main()
    {
        List<Produto> produtos =new List<Produto>();
        produtos.Add(new Produto(1001, "Cadeira simples", 500));
        produtos.Add(new Produto(1002, "Cadeira acolchoada", 900));
        produtos.Add(new Produto(1003, "Sofa de três lugares", 2000));
        produtos.Add(new Produto(1004, "Mesa retangulares", 1500));
        produtos.Add(new Produto(1005, "Mesa retangular", 2000));

        var quantidades = produtos.Select(s=>s.quantidade);

        foreach (double qtd in quantidades)
            Console.WriteLine("Quantidade : {0}",qtd);


    }
}

Example in .NET Fiddle

Browser other questions tagged

You are not signed in. Login or sign up in order to post.