none
Problemas com Array RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou com o seguinte problema, possuo uma arrayList com 8 items, e dentro de cada item possuo outro array com outros 22 items, só que estou com dificuldade para acessa-los, pois estou passando esta lista para uma variavel.

    var graficoTipo = graficos.ToArray()[i];

    só que desta forma eu só consigo passar 1 item daquele grupo de 8 items, e nele vem todos os outros 22 items juntos, só que a minha intenção era pegar cada um destes itens individualmente, como por exemplo: [1][1],[1][2],[1][3]...[1][22], e depois com o segundo: [2][1],[2][2]..., tentei fazer isso através de um foreach mas não consegui, se alguém conseguir me dar uma luz eu agradeço kk.

    quarta-feira, 18 de janeiro de 2017 11:42

Respostas

  • esta dando o seguinte erro:  foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'.

    Mas é que no caso o "graficos" está sendo criado como ArrayList, e não como List<String[]>, e eu não queria altera-lo porque se não teria q modificar todos os controllers q depende dele. 

     Com ArrayList tem de colocar o tipo como no meu exemplo foi string veja como fica:

    ArrayList arrayList = new ArrayList();
    
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
    
                foreach (string[] array in arrayList)
                {
                    foreach (var item in array)
                    {
                        MessageBox.Show(item);
                    }
                }
     Basta no laço inserir seu tipo o meu foi string[] (um array de string).

    • Marcado como Resposta Sryn quarta-feira, 18 de janeiro de 2017 12:37
    quarta-feira, 18 de janeiro de 2017 12:32

Todas as Respostas

  • Bom dia,

     Veja um exemplo utilizando foreach:

    List<string[]> array = new List<string[]>();
    
                array.Add(new string[2] { "Teste", "TTT" });
                array.Add(new string[1] { "Teste2" });
                array.Add(new string[1] { "Teste2" });
                array.Add(new string[1] { "Teste2" });
                array.Add(new string[1] { "Teste2" });
    
                //com foreach
                foreach (var item in array)
                {
                    foreach (var item2 in item)
                    {
                        MessageBox.Show(item2);
                    }
                }

    quarta-feira, 18 de janeiro de 2017 11:54
  • esta dando o seguinte erro:  foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'.

    Mas é que no caso o "graficos" está sendo criado como ArrayList, e não como List<String[]>, e eu não queria altera-lo porque se não teria q modificar todos os controllers q depende dele. 

    quarta-feira, 18 de janeiro de 2017 12:27
  • esta dando o seguinte erro:  foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'.

    Mas é que no caso o "graficos" está sendo criado como ArrayList, e não como List<String[]>, e eu não queria altera-lo porque se não teria q modificar todos os controllers q depende dele. 

     Com ArrayList tem de colocar o tipo como no meu exemplo foi string veja como fica:

    ArrayList arrayList = new ArrayList();
    
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
                arrayList.Add(new string[] { "Teste", "TTT" });
    
                foreach (string[] array in arrayList)
                {
                    foreach (var item in array)
                    {
                        MessageBox.Show(item);
                    }
                }
     Basta no laço inserir seu tipo o meu foi string[] (um array de string).

    • Marcado como Resposta Sryn quarta-feira, 18 de janeiro de 2017 12:37
    quarta-feira, 18 de janeiro de 2017 12:32
  • Agora deu certo, muito obrigado Daniel :D
    quarta-feira, 18 de janeiro de 2017 12:37