none
Array C# RRS feed

  • Pergunta

  • Boa Noite Pessoal!
    É assim eu tenho este loop..

    E ele corre a Array Intruções e depois escreve os dados numa ListBox.

    for (int i = 0; i < instrucoes.Length; i++)
                {
                    myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }

    O que eu queria fazer era caso eu deixa se algum espaço da Array em branco ele não desse erro e simplesmente salta-se esse espaço.

    PS: Me desculpem se não fui especifico...

    sexta-feira, 24 de março de 2017 22:40

Respostas

  • Olá,

    Pelo que eu entendi, no seu Array podem existir valores nulos, é isso? Porque realmente, se você tentar popular um ListBox com um valor nulo, vai disparar uma exceção.

    Se for isso, faça esse tratamento antes de inserir no ListBox (estou pressupondo que seu array é de String):

    for (int i = 0; i < instrucoes.Length; i++)
    {
        if (!string.IsNullOrEmpty(instrucoes[i]))
            this.listBoxSteps.Items.Add(instrucoes[i]);
    }

    Você pode verificar também da seguinte forma:

    for (int i = 0; i < instrucoes.Length; i++)
    {
        if (instrucoes[i] != null)
            this.listBoxSteps.Items.Add(instrucoes[i]);
    }


    Hudson Carvalho

    sábado, 25 de março de 2017 16:34

Todas as Respostas

  • Boa noite, que espaço seria ? nome nome ?  nomenome ? ir para o proximo ?
    sábado, 25 de março de 2017 02:12
  • Olá,

    Pelo que eu entendi, no seu Array podem existir valores nulos, é isso? Porque realmente, se você tentar popular um ListBox com um valor nulo, vai disparar uma exceção.

    Se for isso, faça esse tratamento antes de inserir no ListBox (estou pressupondo que seu array é de String):

    for (int i = 0; i < instrucoes.Length; i++)
    {
        if (!string.IsNullOrEmpty(instrucoes[i]))
            this.listBoxSteps.Items.Add(instrucoes[i]);
    }

    Você pode verificar também da seguinte forma:

    for (int i = 0; i < instrucoes.Length; i++)
    {
        if (instrucoes[i] != null)
            this.listBoxSteps.Items.Add(instrucoes[i]);
    }


    Hudson Carvalho

    sábado, 25 de março de 2017 16:34
  • Digamos assim..., eu vou tentar explicar da melhor maneira possivel.

    Eu tenho 4 picturesBox com imagens la dentro, e tenho outras 12 pictureBox vazias, ou seja, o programa serve para poder mover as imagens para dentro das pictureBox vazias.

    Agora vem o problema porque eu criei uma Array "intrucoes" nas PictureBox vazia, que era para aquilo guardar o nome das das imagens que eu movia para lá e escrever numa ListBox.

    Agora o que eu cria era, por exemplo eu não cria mover imagem para as 12 PictureBox vazias, so queria mover por exemplo para 4 pictureBox, ou seja vão ficar 8 PictureBox sem nada la dentro, ou seja o espaço são as PictureBox, e eu queria que eu podesse simplesmente saltar essas PictureBox Vazias sem dar erro.

    sábado, 25 de março de 2017 16:37
  • Eu tenho quase a certeza que é algo deste tipo obrigado
    Mas está a dar-me um erro...

    for (int i = 0; i < instrucoes.Length; i++)
                {
                    myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }

    porque como pode ver a minha listBoxSteps vem de outra form, ou seja quando eu clico num botão, isso abre outra form que contem essa listboxSteps.

    Então vai ficar algo assim?

    private void buttonSend_Click(object sender, EventArgs e)
            {
                FormSend myForm = new FormSend();
                this.Hide();
    
                for (int i = 0; i < instrucoes.Length; i++)
                {
                    if (!string.IsNullOrEmpty(instrucoes[i]))
                        this.myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }
    
                for (int i = 0; i < instrucoes.Length; i++)
                {
                    myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }
    
                myForm.ShowDialog();
                this.Show();
            }
    Onde eu sublinhei está me a dar o tal erro.



    sábado, 25 de março de 2017 16:58
  • Muito obrigado Hudson Carvalho
    Eu consegui fazer o que cria.

     private void buttonSend_Click(object sender, EventArgs e)
            {
                FormSend myForm = new FormSend();
                this.Hide();
    
                for (int i = 0; i < instrucoes.Length; i++)
                {
                    if (!string.IsNullOrEmpty(instrucoes[i]))
                        myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }
    
                myForm.ShowDialog();
                this.Show();
            }
    Obrigado!!!!
    sábado, 25 de março de 2017 17:03
  • Muito obrigado Hudson Carvalho
    Eu consegui fazer o que cria.

     private void buttonSend_Click(object sender, EventArgs e)
            {
                FormSend myForm = new FormSend();
                this.Hide();
    
                for (int i = 0; i < instrucoes.Length; i++)
                {
                    if (!string.IsNullOrEmpty(instrucoes[i]))
                        myForm.listBoxSteps.Items.Add(instrucoes[i]);
                }
    
                myForm.ShowDialog();
                this.Show();
            }
    Obrigado!!!!
    Por nada amigo! Como a resposta lhe foi útil, por gentileza marque-a como resposta e a classifique como útil. Assim beneficiamos outros usuários que buscam solução para o mesmo problema! :)

    Hudson Carvalho

    sábado, 25 de março de 2017 18:06