Nullrefererencepointer在c#中通过Array或List在列表框中添加值时出现异常

时间:2013-05-29 10:47:19

标签: c# listbox nullpointerexception

我只想在Xaml Code Listbox中添加占星星的名称

public MainPage()
    {
    string[] StarsName = {"Aries","Taurus","Aquarius","Pisces"};

        List<string> Stars = new List<string>(StarsName);

        foreach (string abc in StarsName)
        {
            listBox1.Items.Add(abc.ToString());
        }
    }

...

然后我尝试制作StarName列表

                  foreach (string abc in Stars)
                 {
                   listBox1.Items.Add(abc.ToString());
                 }

每次运行代码时,后续行都有NullReferenceException

                 listBox1.Items.Add(abc.ToString());

更多我想知道,我怎样才能将这些数据直接绑定到XAML中的listview。

1 个答案:

答案 0 :(得分:7)

在调用InitializeComponent() 后,将代码放置 该方法负责创建UI元素的实例。如果您之前尝试访问它们,它们仍然是null,因此在尝试访问NullReferenceException时会listBox1

此外,您的代码包含一些冗余内容:

  1. 不需要在ToString()上拨打string。删除它。
  2. 创建一个数组只是为了从中创建一个列表是不必要的。您可以使用集合初始值设定项。