在列表框中插入列表
我是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();