我已经搜索过这样的其他错误,但我没有找到任何解决方案。
public string[] vector;
//...
string comanda = "select * from chat";
MySqlConnection con = new MySqlConnection(conexiune);
MySqlCommand cmd = new MySqlCommand(comanda, con);
MySqlDataReader dr;
int i = 1;
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
if (dr[1].ToString().Length > 1)
{
if (i == 1)
{
textBox1.Text = dr[0].ToString() + ": " + dr[1].ToString();
}
else
{
textBox1.Text = textBox1.Text + "\r\n";
textBox1.Text = textBox1.Text + dr[0].ToString() + ": " + dr[1].ToString();
}
}
vector[i] = dr[1].ToString();
i++; // Exception: An unhandled exception of type 'System.NullReferenceException' occured in Chat_1.exe
}
con.Close();
timer1.Start();
答案 0 :(得分:0)
请初始化你的矢量。没有使用new with array,它为null。
将代码更改为public string[] vector = new String[3]
。请用您想要的尺寸替换3。
答案 1 :(得分:0)
您没有初始化阵列。尝试在某处初始化它,例如构造函数中的方法或更好:
vector = new string[number of how much elements you need];
虽然列表的默认长度为4,并且能够自行调整大小,但是数组要么被赋予元素的数量,要么带有预定义的元素。
var vector = new string[] { "El 1", "El 2"...};