C#(对象数组)对象引用未设置为对象实例

C#(对象数组)对象引用未设置为对象实例,c#,C#,我在此行中得到对象引用错误: emp[count].emp_id=int.Parse(部分[0]) 在此代码中 这个程序从文件中读取并存储在对象数组中 公共部分类表单1:表单 { 公共表格1() { 初始化组件(); } 公营雇员 { 公共int emp_id; 公共字符串名; 公共字符串lastName; 公共双平衡; } 私有void btnOpen_单击(对象发送方,事件参数e) { OpenFileDialog文件=新建OpenFileDialog(); DialogResult=fil

我在此行中得到对象引用错误: emp[count].emp_id=int.Parse(部分[0])

在此代码中

这个程序从文件中读取并存储在对象数组中
公共部分类表单1:表单
{
公共表格1()
{
初始化组件();
}
公营雇员
{
公共int emp_id;
公共字符串名;
公共字符串lastName;
公共双平衡;
}
私有void btnOpen_单击(对象发送方,事件参数e)
{
OpenFileDialog文件=新建OpenFileDialog();
DialogResult=file.ShowDialog();
if(result==DialogResult.Cancel)返回;
字符串文件名=file.fileName;
StreamReader=新的StreamReader(文件名);
string[]lines=File.ReadAllLines(文件名);
int emp_count=lines.count();
员工[]环境管理计划=新员工[环境管理计划计数];
整数计数=0;
foreach(行中的字符串行)
{
字符串[]部分=新字符串[4];
零件=直线分割(',');
**emp[count].emp_id=int.Parse(部分[0])**
emp[count].firstName=parts[1];
emp[count].lastName=parts[2];
emp[count].balance=double.Parse(部分[3]);
计数++;
txtGet.Text+=emp[count]。emp\u id+“”+emp[count]。firstName+“”+emp[count]。lastName+“”+emp[count]。余额+“\n”;
}

您需要将
emp[count]
初始化为某物

可以通过添加以下内容来完成此操作:

foreach (string line in lines) 
{ 
    emp[count] = new employees();
    string[] parts = new string[4]; 
    //....
}
当您调用
employees[]emp=newemployees[emp_count];
时,您将
emp
初始化为
emp_count
长度的
员工数组

emp[0] = null;
emp[1] = null;
//etc.

emp
中的每个元素在使用之前都需要实例化。

emp[0]
尚未初始化。类
employees
是可空类型,这意味着由它组成的数组初始化为空。将
emp[count]
初始化为
新员工

顺便说一句,“
employees
”对于一个只包含一个employees的类来说是一个奇怪的名称。我认为它应该被称为
employees
,然后像这样声明数组是有意义的:

 `Employee[] employees = new Employee[emp_count];`

很抱歉,在一个文件中读取数据并将其存储在对象数组中,然后在新文件中写入此数据。string path=“D:\\new.txt”;StreamWriter writer;writer=file.CreateText(path);string record=“”;for(int i=0;我可能重复了
 `Employee[] employees = new Employee[emp_count];`