aBo*_*Boy 1 c# methods structure list
我是 C# 的新学生,我有一个项目我有点坚持。我需要创建一个使用索引\ID 号查找和删除员工信息的方法。
这里采用的结构,“雇员”和一个列表,“员工”,我刚刚失去了作为我应该如何从列表中删除的所有信息。我是否将所有字段值(包括字符串)设置为 0?
以下是我对这个方法给出的说明——“c)DeleteEmployee() 以雇员的索引为参数。删除具有参数值的雇员”
private int DeleteEmployee (int index)
{
foreach (Employee E in employees)
{
if (index == E.id) {}
// i'm just stuck on what to do from this point
}
// return zero is just here temporarily
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不允许修改您在foreach循环中枚举的序列。如果要按索引从列表中删除项目,请使用RemoveAt:
employees.RemoveAt(index);
Run Code Online (Sandbox Code Playgroud)
如果要按某些条件删除项目,请使用 RemoveAll
employees.RemoveAll(e => e.id == index)
Run Code Online (Sandbox Code Playgroud)
我应该如何从列表中删除所有信息。我是否将所有字段值(包括字符串)设置为 0?
您应该明白,员工列表只是一个数组,其中包含对员工对象的引用(您可以将引用视为对象数据所在的内存地址)。修改员工字段不会从列表中删除引用。List 仍将引用相同的员工对象,但所有字段都设置为默认值。为了从列表中删除员工,您应该删除对员工对象的引用。可以与实现Remove,RemoveAt或者RemoveAll方法。