none
Array em ListBox ou TextBox RRS feed

  • Pergunta

  • Olá pessoal,

    Eu tenho um array bidimensional de tamanho indefinido e quero fazer o seguinte, adicionar em um ListBox ou em um TextBox o conteúdo completo do array. O meu problema esta sendo exibir a linha completa do array em cada linha do ListBox, como é um array de inteiros, eu só consigo adicionar um número por linha.

    Em C eu faço isso utilizando o for e o printf e a matriz saí corretamente, mas em C# eu não estou conseguindo.

    Por exemplo em C, para meuVetor[i][j] eu faço:

    for (int i = 0; i <=m ; i++) 

    {

    for (int j = 0; j <= n; j++)

    {

    printf("%d - ", meuVetor[i][j]);

    {

    printf("\n");

    }

    Que poderia ter como saída o exemplo abaixo, menor ou maior, pois vai depender do valor das variáveis.

    13 - 65 - 34

    27 - 11 - 90

    Desde já, obrigado.

    quarta-feira, 15 de julho de 2015 00:42

Respostas

  • Olá, fiz um pequeno método exemplo que talvez possa te ajudar.

    public void Gerar(int linhas, int colunas) { var random = new Random(); for (int i = 0; i < linhas; i++) { string colunaAtual = random.Next(2000).ToString(); for (int j = 1; j < colunas; j++) { colunaAtual = string.Format("{0}-{1}", colunaAtual, random.Next(2000)); } this.listBox1.Items.Add(colunaAtual); }

    }

    Lista gerada para entrada 10,3.

    Você só vai precisar adaptar o código acima para que ele receba o array em vez de usar o Random para gerar os números.

    Abraço


    quarta-feira, 15 de julho de 2015 17:12

Todas as Respostas

  • Obrigado pelo apoio Lucio, mas escrever a saída no console tudo bem, mas como obter a mesma saída em um objeto? Seja ListBox, TextBox ou não sei qual outra saída podemos ter, é isso que eu estou apanhando e não estou conseguindo.

    Eu sei que eu posso fazer:

    meuListBox.Items.Add(var[0,0] + " - " + var[0,1]);

    E se a única variação fosse o número de linhas, eu poderia utilizar o método acima, mas como o programa vai receber do usuário o número de linhas e o número de colunas, então a alternativa acima acaba não sendo viável.

    Em um TextBox então eu só sei imprimir uma linha, não sei como se utilizam multíplas linhas.

    quarta-feira, 15 de julho de 2015 16:39
  • Apenas como complemento, eu estou aprendendo C#, e estou gerando uma série de número aleatórios e quero exibir, seja em um ListBox ou TextBox, o importante é conseguir exibir, menos no console rs. Mas que sejam exibidos os elementos da linha 0, pula-se uma linha e depois exiba os elementos da linha 1, e assim por diante... Isso será feito no clique de um botão.
    quarta-feira, 15 de julho de 2015 16:54
  • Olá, fiz um pequeno método exemplo que talvez possa te ajudar.

    public void Gerar(int linhas, int colunas) { var random = new Random(); for (int i = 0; i < linhas; i++) { string colunaAtual = random.Next(2000).ToString(); for (int j = 1; j < colunas; j++) { colunaAtual = string.Format("{0}-{1}", colunaAtual, random.Next(2000)); } this.listBox1.Items.Add(colunaAtual); }

    }

    Lista gerada para entrada 10,3.

    Você só vai precisar adaptar o código acima para que ele receba o array em vez de usar o Random para gerar os números.

    Abraço


    quarta-feira, 15 de julho de 2015 17:12
  • Caro Bruno, você resolveu o meu problema de uma forma bem simples e exata, muito obrigado, já adaptei ao meu código e deu tudo certo :)
    quinta-feira, 16 de julho de 2015 01:26