List 在C中用类显示列表中的数据#
我正在尝试显示具有用户定义类型数据的列表中的数据 这是我的班级List 在C中用类显示列表中的数据#,list,List,我正在尝试显示具有用户定义类型数据的列表中的数据 这是我的班级 namespace test { class Employee { private string employeeName; private string employeeId; public override string ToString() { return "Employee Name: " + EmployeeName + "\nEmployee ID: " + Emplo
namespace test
{
class Employee
{
private string employeeName;
private string employeeId;
public override string ToString()
{
return "Employee Name: " + EmployeeName + "\nEmployee ID: " + EmployeeId;
}
public string EmployeeName
{
get { return employeeName; }
set { employeeName = value;}
}
public string EmployeeId
{
get { return employeeId; }
set { employeeId = value;}
}
}
}
这是我的主要方法
namespace test
{
class Program
{
static void Main(string[] args)
{
Employee employees = new Employee();
List<Employee> listEmployee = new List<Employee>();
employees.EmployeeName = "TEST 1";
employees.EmployeeId = "01";
listEmployee.Add(employees);
employees.EmployeeName = "TEST 2";
employees.EmployeeId = "02";
listEmployee.Add(employees);
Console.WriteLine("Number of Employee in the list: "+ listEmployee.Count);
Console.WriteLine();
foreach (Employee em in listEmployee)
{
Console.WriteLine(em);
Console.WriteLine();
}
}
}
}
但它表明,
Number of Employee in the list: 2
Employee Name: TEST 2
Employee ID: 02
Employee Name: TEST 2
Employee ID: 02
请告诉我为什么我没有得到预期的产出,以及如何克服这一点
提前谢谢。:) 您可能对
对象
和参考
有误解
将对象,即员工
添加到列表中:
这里,列表的第一个元素保存对对象的引用。因此,当您对对象进行更改时,它将变为
然后再次将对象插入列表中,因此列表的第二个位置也包含对员工的引用
在将对象添加到列表之前,应该创建一个新对象(具有新引用)-
Employee employees2 = new Employee();
employees2.EmployeeName = "TEST 2";
employees2.EmployeeId = "02";
listEmployee.Add(employees2);
您可能对对象
和参考
有误解
将对象,即员工
添加到列表中:
这里,列表的第一个元素保存对对象的引用。因此,当您对对象进行更改时,它将变为
然后再次将对象插入列表中,因此列表的第二个位置也包含对员工的引用
在将对象添加到列表之前,应该创建一个新对象(具有新引用)-
Employee employees2 = new Employee();
employees2.EmployeeName = "TEST 2";
employees2.EmployeeId = "02";
listEmployee.Add(employees2);
你修改过的主站
static void Main(string[] args)
{
Employee employeeFirst = new Employee();
List<Employee> listEmployee = new List<Employee>();
employeeFirst.EmployeeName = "TEST 1";
employeeFirst.EmployeeId = "01";
listEmployee.Add(employeeFirst);
Employee employeeNext = new Employee();
employeeNext.EmployeeName = "TEST 2";
employeeNext.EmployeeId = "02";
listEmployee.Add(employeeNext);
Console.WriteLine("Number of Employee in the list: "+ listEmployee.Count);
Console.WriteLine();
foreach (Employee em in listEmployee)
{
Console.WriteLine(em);
Console.WriteLine();
}
}
static void Main(字符串[]args)
{
员工employeeFirst=新员工();
List listEmployee=新列表();
employeeFirst.EmployeeName=“测试1”;
employeeFirst.EmployeeId=“01”;
listEmployee.Add(employeeFirst);
Employee employeeNext=新员工();
employeeNext.EmployeeName=“测试2”;
employeeNext.EmployeeId=“02”;
listEmployee.Add(employeeNext);
Console.WriteLine(“列表中的员工人数:+listEmployee.Count”);
Console.WriteLine();
foreach(列表员工中的员工em)
{
控制台写入线(em);
Console.WriteLine();
}
}
修改后的主菜单
static void Main(string[] args)
{
Employee employeeFirst = new Employee();
List<Employee> listEmployee = new List<Employee>();
employeeFirst.EmployeeName = "TEST 1";
employeeFirst.EmployeeId = "01";
listEmployee.Add(employeeFirst);
Employee employeeNext = new Employee();
employeeNext.EmployeeName = "TEST 2";
employeeNext.EmployeeId = "02";
listEmployee.Add(employeeNext);
Console.WriteLine("Number of Employee in the list: "+ listEmployee.Count);
Console.WriteLine();
foreach (Employee em in listEmployee)
{
Console.WriteLine(em);
Console.WriteLine();
}
}
static void Main(字符串[]args)
{
员工employeeFirst=新员工();
List listEmployee=新列表();
employeeFirst.EmployeeName=“测试1”;
employeeFirst.EmployeeId=“01”;
listEmployee.Add(employeeFirst);
Employee employeeNext=新员工();
employeeNext.EmployeeName=“测试2”;
employeeNext.EmployeeId=“02”;
listEmployee.Add(employeeNext);
Console.WriteLine(“列表中的员工人数:+listEmployee.Count”);
Console.WriteLine();
foreach(列表员工中的员工em)
{
控制台写入线(em);
Console.WriteLine();
}
}
Chen很好地回答了您的问题,但我也建议(为了以后的代码审查)将您的“employees”变量重命名为“employees”,将“ListEmployees”变量重命名为“listOfEmployees”,或者仅将“employees”重命名为“employees”,但我也建议(为了以后的代码审查)将您的“employees”变量重命名为“employees”,并“员工名单”改为“员工名单”或“员工名单”“谢谢你,陈。现在我明白了。再次感谢您花时间绘制所有这些图形,只是为了让我明白。你太棒了!!!!:-)谢谢你,陈。现在我明白了。再次感谢您花时间绘制所有这些图形,只是为了让我明白。你太棒了!!!!:-)达雷尔,非常感谢你。:)感谢,享受:-)达雷尔,非常感谢尊敬的,享受的:-)