(C#) 我有 2 节课。 1 称为雇员。另一个是我的“主要”。我正在尝试获取一个列表并将列表中的每个值分配给一个 Employee 对象数组。
//Inside "Main" class
int counter = NameList.Count;
Employee[] employee = new Employee[counter];
for (int i = 0; i <= counter; i++)
{
employee[i].Name = NameList[i];
employee[i].EmpNumber = EmpNumList[i];
employee[i].DateOfHire = DOHList[i];
employee[i].Salary = SalaryList[i];
employee[i].JobDescription = JobDescList[i];
employee[i].Department = DeptList[i];
}
这将返回错误:
Pgm4.exe 中发生了“System.NullReferenceException”类型的未处理异常
附加信息:对象引用未设置为对象的实例。
我认为这意味着我没有正确调用列表。任何帮助将非常感激。谢谢你。
最佳答案
一件事在这里立即脱颖而出。您没有声明 employee[i]
成为 new Employee
在每次迭代开始时,因此除了所有其他事情之外,您将获得 NullReferenceException
(正如 Marc Gravell 指出的那样,<=
应该是 <
以避免索引超出范围异常...)
for (int i = 0; i < counter; i++)
{
//actually create an instance of Employee in employee[i]
employee[i] = new Employee();
employee[i].Name = NameList[i];
employee[i].EmpNumber = EmpNumList[i];
employee[i].DateOfHire = DOHList[i];
employee[i].Salary = SalaryList[i];
employee[i].JobDescription = JobDescList[i];
employee[i].Department = DeptList[i];
}
关于c# - 如何将数组对象列出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895621/