类中的列表为null,即使我创建了该类的实例

本文关键字:创建 实例 列表 null | 更新日期: 2023-09-27 17:58:14

我试图从主程序中的一些函数访问列表personal,但我一直发现它不是。。。

分类代码:

[Serializable()]
class FaktNr
{
    public int lopnummer;
    public int year;
    public List<string> personal = new List<string>();
    public FaktNr()
    {
        personal = new List<string>();
    }
}

表单代码:

public partial class Form1 : Form
{
    internal FaktNr faktNr = new FaktNr(); 
    public Form1()
    {
        InitializeComponent();
    }
    private void laggTillPerson_Click(object sender, EventArgs e)
    {
            faktNr.personal.Add(ComboBox1.Text);
    }

代码在这里被缩短了,但它显示了要点。函数laggTillPerson_Click中出现Nullreferenceexception。

我想补充一点,问题不是组合框,因为我已经尝试过了:faktNr.personal.Add("uhiouh");

类中的列表为null,即使我创建了该类的实例

您在ComboBox1.Text上得到异常,您的ComboBox1可能为null,而不是您的列表personal,请尝试将您的代码替换为:

faktNr.personal.Add("test string");

看看你是否还有例外。

您正在访问组合框的Text属性,而可以使用Combobox.SelectedText属性

或者你可以在你的活动中检查null:

private void laggTillPerson_Click(object sender, EventArgs e)
{
     if(ComboBox1 != null)
          faktNr.personal.Add(ComboBox1.Text);
}