全局变量和线程

时间:2012-03-18 23:30:54

标签: c# .net

我的程序,应该这样做:在其他线程中将每个结果写入全局数组。从全局数组读取并放在屏幕上的主线程。

在Windows Form Aplication中没有。其他问题,如何逐步显示文本框中的结果。 Normaly,所有的突击都是在循环结束时显示的。如何刷新每个人的表格。以及如何在文本框中更改视图。通常情况下,我会看到第一个数字 - 1-,我需要自动查看最后一个数字 - 199。

我有意见:

  

警告1字段'WFA_watki.Form1.tab'永远不会分配给,和   将始终具有其默认值null

我的代码:

namespace WFA_watki
{
    public partial class Form1 : Form
    {
        int[] tab; //----- exception -----

        void licz()
        {
            int wynik = 0;
            for (int i = 0; i < 100; i++)
            {

                wynik =+ i;
                tab[i] = wynik;

            }

            MessageBox.Show("Fnish thread 1. result: " + wynik);


        }

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
             Thread watek1 = new Thread(licz);
             watek1.Start();

             Thread.Sleep(1000);

             for (int i=0; i < 100; i++)
             {
                 textBox1.Text += tab[i].ToString() + Environment.NewLine;
             }      


        }

    }
}

1 个答案:

答案 0 :(得分:2)

tab 已定义但从未初始化 - 这意味着您已经说过它是什么,但从未将其设置为任何内容。然后,即使您尚未初始化它,也可以尝试访问其中的元素。

试试这个:

int[] tab = new int[100];

我给它的大小为100,因为你的button1_Click函数中有一个循环迭代到该值。

相关问题