将元素添加到对象列表时出错
本文关键字:列表 出错 对象 元素 添加 | 更新日期: 2023-09-27 17:57:52
我希望动态创建对象并将其保存到列表中。当程序到达add
方法在列表中添加对象时,我得到一个错误:
对象引用未设置为对象的实例。
我做错了什么?
List<Category> categoryList;
public Main(string firstname, string lastname, string status)
{
InitializeComponent();
label1.Text = (firstname + lastname + status).Trim();
string connection = @"Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'Trgovina.mdf;Integrated Security=True";
SqlConnection cn = new SqlConnection(connection);
try
{
cn.Open();
}
catch (Exception) { MessageBox.Show("Error occurred during database communication!"); }
string sqlQuery = "SELECT * FROM Kategorije_art";
SqlCommand categoryCommand = new SqlCommand(sqlQuery, cn);
SqlDataReader categoryDataRead = categoryCommand.ExecuteReader();
categoryList.Add(new Category(1, "a")); //ERROR ?!
}
您必须实际创建List
实例
List<Category> categoryList= new List<Category>();
在第一行。
您的成员categoryList未初始化。
尝试:
List<Category> categoryList = new List<Category>();
public Main(string firstname, string lastname, string status)
{
InitializeComponent();
label1.Text = (firstname+lastname+status).Trim();
string connection = @"Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'Trgovina.mdf;Integrated Security=True";
SqlConnection cn = new SqlConnection(connection);
try
{
cn.Open();
}
catch (Exception) { MessageBox.Show("Error occurred during database communication!"); }
string sqlQuery = "SELECT * FROM Kategorije_art";
SqlCommand categoryCommand = new SqlCommand(sqlQuery, cn);
SqlDataReader categoryDataRead = categoryCommand.ExecuteReader();
categoryList.Add(new Category(1, "a")); //ERROR ?!
}
还要注意,您可能应该将SqlConnection放在using块中,或者至少对其调用Close/Dispose,这样就不会泄漏连接。
您的categoryList
未初始化。将您的第一行更改为:
List<Category> categoryList = new List<Category>();
当您尝试访问null值上的.Add(...)
方法时,会出现null引用异常。
名为categoryList
的变量未初始化。所以它是空的。
不能对单元化变量调用任何方法。
尝试:
List<Category> categoryList= new List<Category>();
是否创建categoryList = new List<Category>()
?
您的错误行应该如下所示:
categoryList = new List<Category>() { new Category(1,"a")};
因此,您可以创建列表并添加一个创建的元素,并将对该列表的引用存储在categoryList
中