我正在尝试编写一个简单的员工注册表,并希望使用通用列表来“保存”我正在创建的人员。
manager类有一个构造函数和一个方法(见下文)。构造函数创建列表,方法添加到列表中,或者应该添加到列表中。问题是我不能像下面这样做,因为Visual Studio说employeeList在当前上下文中不存在。要不然我怎么写这篇文章呢?
public EmployeeManager()
{
List<string> employeeList = new List<string>();
}
public void AddEmployee()
{
employeeList.add("Donald");
}
发布于 2010-07-31 04:43:33
您需要使employeeList成为该类的成员变量:
class EmployeeManager
{
// Declare this at the class level
List<string> employeeList;
public EmployeeManager()
{
// Assign, but do not redeclare in the constructor
employeeList = new List<string>();
}
public void AddEmployee()
{
// This now exists in this scope, since it's part of the class
employeeList.add("Donald");
}
}
发布于 2010-07-31 04:43:43
您是否将employeeList声明为类的成员?
private List<string> employeeList = new List<string();
public EmployeeManager()
{
}
public void AddEmployee()
{
employeeList.add("Donald");
}
发布于 2010-07-31 04:43:45
List<string> employeeList = new List<string>();
public EmployeeManager()
{
}
public void AddEmployee()
{
employeeList.add("Donald");
}
或者,也可以
List<string> employeeList;
public EmployeeManager()
{
employeeList = new List<string>();
}
public void AddEmployee()
{
employeeList.add("Donald");
}
正如您所定义的,employeeList
只存在于ctor中。一旦它完成,employeeList就会消失,它的内存就会被垃圾收集。通过将声明移动到类级别,它将在对象的整个生命周期中存在。
https://stackoverflow.com/questions/3375221
复制相似问题