在列表框中插入列表

我是C#的新手,我正在尝试在C#中进行探索,但是我尝试在列表框中添加一个列表。

我遇到的错误是: Object reference not set to an instance of an object. 知道如何解决这个问题吗?

 namespace WindowsFormsApplication { public partial class Form1 : Form { something a = something iets(); public Form1() { InitializeComponent(); } // part1 class something { public List testing { get ; set; } } // part2 private void button1_Click(object sender, EventArgs e) { a.testing.Add("programming"); a.testing.Add("over"); a.testing.Add("something"); foreach (string i in a.testing) { listBox1.Items.Add(i); } } } } 

您必须在访问之前在某个时刻初始化testing

也许你可以在某个类中添加一个构造函数。

 public something() { testing = new List(); } 

并且如上面的评论中所指出的,替换

 something a = something iets(); 

以下是这个。

 something a = new something(); //this should be the correct thing. 

我认为你得到NullReferenceException的原因是类的字符串列表没有被初始化。 您可以定义无参数构造函数并在那里初始化列表。

 public something() { testing = new List(); } 

您可能还想知道类和属​​性名称的第一个字母通常是大写的(例如, class Something而不是class something )。

此外,您可以使用AddRange方法,而不是在foreach循环中逐个添加字符串。

 listbox1.Items.AddRange(a.testing.ToArray()); 

你的class级“某事”从未初始化列表。 你应该做的就是这个。

 class something{ private List _list; public something(){ _list = new List(); } public List testing {get{return _list;} set{_list = value;}} 

}

或者你的a.testing.Add()行之前你应该做a.testing = new List();