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

本文关键字:异常 Nullrefererencepointer 添加 列表 Array list | 更新日期: 2023-09-27 18:15:47

我只是想在Xaml代码中添加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。

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

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

此外,你的代码包含一些多余的东西:

  1. 不需要在string上调用ToString()。删除它。
  2. 创建一个数组只是为了从它创建一个列表是不必要的。你可以使用集合初始化器。