NullReferenceException是一个未处理的错误,带有列表和随机

本文关键字:错误 列表 随机 未处理 一个 NullReferenceException | 更新日期: 2023-09-27 17:57:46

我有以下代码示例:

public int intTest { get; set; }
public List<int> listTest { get; set; }
//Method for creating a random number to return.
public int methodRandom()
{
    Random random1 = new Random();
    int intValue;
    intValue = random1.Next(1, intTest + 1);
    return (intValue);
}
private void button1_Click(object sender, EventArgs e)
{
    intTest = int.Parse(textBox1.Text); // Will be a value between 1 and 9 in my code)
    for (int i = 0; i < intTest; i++)
    {
        int temp = methodRandom();
        listTest.Add(temp);
    }
}

但当我调试并单击按钮时,我会收到以下错误消息,标记为"listTest.Add(temp);",上面写着"NullReferenceException未处理"。我做错了什么?

NullReferenceException是一个未处理的错误,带有列表和随机

在向列表添加项之前,必须先实例化列表。构造函数是一个很好的位置。

public YourClass()  // I don't know what the name of your class is.
{
    listTest = new List<int>();
}

每次button1_Click事件触发时,您可能需要清除该列表(除非您只是想继续向列表中添加数字)

private void button1_Click(object sender, EventArgs e)
{
    listTest.Clear();  // Clear previous items before adding new ones
    ...
}
private void button1_Click(object sender, EventArgs e)
{
    listTest=new List<int>();
    intTest = int.Parse(textBox1.Text); // Will be a value between 1 and 9 in my code)
    for (int i = 0; i < intTest; i++)
    {
        int temp = methodRandom();
        listTest.Add(temp);
    }
}