我在这一行得到了对象引用错误:emp [count] .emp_id = int.Parse(parts [0]);
在这段代码中
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class employees
{
public int emp_id;
public string firstName;
public string lastName;
public double balance;
}
private void btnOpen_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
DialogResult result = file.ShowDialog();
if (result == DialogResult.Cancel) return;
string fileName = file.FileName;
StreamReader reader = new StreamReader(fileName);
string[] lines = File.ReadAllLines(fileName);
int emp_count = lines.Count<string>();
employees[] emp = new employees[emp_count];
int count = 0;
foreach (string line in lines)
{
string[] parts = new string[4];
parts = line.Split(',');
**emp[count].emp_id = int.Parse(parts[0]);**
emp[count].firstName = parts[1];
emp[count].lastName = parts[2];
emp[count].balance = double.Parse(parts[3]);
count++;
txtGet.Text += emp[count].emp_id + " " + emp[count].firstName + " " + emp[count].lastName + " " + emp[count].balance + " \n ";
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*haw 10
你需要初始化emp[count]一些东西.
您可以通过添加以下内容来执行此操作:
foreach (string line in lines)
{
emp[count] = new employees();
string[] parts = new string[4];
//....
}
Run Code Online (Sandbox Code Playgroud)
当你打电话给employees[] emp = new employees[emp_count];你时,初始化emp为一个employees长度为的数组emp_count.
emp[0] = null;
emp[1] = null;
//etc.
Run Code Online (Sandbox Code Playgroud)
内部的每个元素emp也需要在使用之前进行实例化.