c# - 如何将数组对象列出来

标签 c# list object

(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/

相关文章:

python - 列表中项目的最大长度(python)

c++ - 将对象的空指针传递给函数

java - Java中的 vector ,如何在一个对象中返回多个 vector

c# - asp.net core 2.2升级并且类库中不提供HttpSessionState

c# - 线程循环!!意想不到的行为?

python - 如何遍历列表?

java - 通过构造函数传递对象引用

c# - 进度条显示方法的执行

c# - 如何在自定义工作流程事件中获取构建详细信息?

list - 理解守卫功能和列表理解