public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        List<string> st;
        private void Form1_Load(object sender, EventArgs e)
        {
            List<string> st = new List<string> { "ftyrt", "rtyr" };
         }        private void button1_Click(object sender, EventArgs e)
        {
          
            label1.Text = st[0];  //报错,未将对象应用设置到对象的实例           
        }
    }请问,为什么会报错呢?

解决方案 »

  1.   


     private void Form1_Load(object sender, EventArgs e)
      {
      List<string> st = new List<string> { "ftyrt", "rtyr" };
      }
    红色部分去掉
      

  2.   

    因为你load函数里面定义了一个局部变量st,隐藏了成员变量的st。
    你的赋值实际上没有作用。
    List<string> st = new List<string> { "ftyrt", "rtyr" };
    =>
    this.st = new List<string> { "ftyrt", "rtyr" };