none
valore e quantidades na List c# RRS feed

  • Pergunta

  •   preciso saber qual posição o numero se encontra na list e retornar a quantidade que cada valor repetiu na list em uma messagebox,alguem me ajuda?
      private void bt_teste_Click(object sender, EventArgs e)
            {
    
                List<string> valor = new List<string>();
               
                string entrada = tb_valor.Text;
                string[] separador = entrada.Split(' ');
                int indice = separador.Length;
               
    
                for (int i = 0; i < indice; i++)
                {
    
                    if(valor.Contains(separador[i]))
                    {
                       
                        continue;
                    }
                    valor.Add(separador[i]);
    
                   
                }
                

    segunda-feira, 6 de maio de 2013 17:15

Respostas

  • Fala Edrex,

    Te passei errado o parametro do findIndex, ele precisa de um Predicate<T> e ainda não estudei essas funcionalidades do .NET.

    Tenta assim :

    valor.findIndex(x => x.equals("2"));

    Hoje a tarde creio que vou estar com o VS instalado na máquina e posso te ajudar melhor.

    Atte,


    • Marcado como Resposta Éder Galvão terça-feira, 7 de maio de 2013 23:30
    terça-feira, 7 de maio de 2013 13:05

Todas as Respostas

  • Edrex,

    Utilize o método FindIndex da lista.

    http://msdn.microsoft.com/en-us/library/x1xzf2ca.aspx

    Exemplo :

    valor.FindIndex("valorprocurado"); 

    Irá retornar um int que é a posição da lista do valor que você procura.

    Para retornar a quantidade que cada valor repetiu na list você pode fazer uma query LINQ na lista, filtra o valor procurado com WHERE e pega o count() do retorno.

    Infelizmente estou sem o VisualStudio hoje para te ajudar melhor, mas já deve acender uma luz ai.

    Abraço.

    • Sugerido como Resposta Thiago Scaranto segunda-feira, 6 de maio de 2013 19:00
    • Não Sugerido como Resposta Éder Galvão segunda-feira, 6 de maio de 2013 20:11
    segunda-feira, 6 de maio de 2013 19:00
  • tentei usar o findindex mas nao consigo ?

    int index = valor.findindex("2");

    segunda-feira, 6 de maio de 2013 19:43
  • Fala Edrex,

    Te passei errado o parametro do findIndex, ele precisa de um Predicate<T> e ainda não estudei essas funcionalidades do .NET.

    Tenta assim :

    valor.findIndex(x => x.equals("2"));

    Hoje a tarde creio que vou estar com o VS instalado na máquina e posso te ajudar melhor.

    Atte,


    • Marcado como Resposta Éder Galvão terça-feira, 7 de maio de 2013 23:30
    terça-feira, 7 de maio de 2013 13:05