如何从 c# 控制台应用程序中的用户输入创建多个对象?
Posted
技术标签:
【中文标题】如何从 c# 控制台应用程序中的用户输入创建多个对象?【英文标题】:How to create more than one object from user input in c# console app? 【发布时间】:2020-06-23 08:16:52 【问题描述】:在类文件中:
class Employee
//PROPS
public string Name get; set;
public int Id get; set;
//CONST.
public Employee (string name, int id)
Name = name;
Id = id;
在方法类中(或在 Main() 中):
public void NewEmployee(string name, int id)
Console.Write("ENTER NEW NAME: ");
string new_employee = Console.ReadLine();
Console.Write("ENTER ID: ");
int employee_id = Console.ReadLine();
Employee e = new Employee(new_employee, employee_id);
现在它只创建了一个我称之为“e”的对象。但是如何让用户一个接一个地创建多个对象呢?
【问题讨论】:
循环调用你的NewEmployee
- 方法?顺便说一句:这个对象实际上并没有被称为e
,这只是对该对象的引用的名称。没有对象名称之类的东西,除非您的类有一些名为 Name
的字段或属性。
你想对这个对象做什么?目前你只是在离开NewEmployee
-方法后把它扔掉。我想你想把它存储在某个地方,例如在列表或其他任何内容中。在这种情况下,您应该从您的方法中返回该新对象。
【参考方案1】:
我可能会按照以下方式做一些事情:
List<Employee> employees = new List<Employee>();
while (true)
Console.Write("ENTER NEW NAME: ");
string new_employee = Console.ReadLine();
if (new_employee == "")
break;
Console.Write("ENTER ID: ");
int employee_id = Console.ReadLine();
Employee e = new Employee(new_employee, employee_id);
employees.Add(e);
这会将新员工添加到列表中,直到名称出现空行。
【讨论】:
非常感谢。我是初学者,请见谅。如果我现在想从某个对象中检索数据怎么办,我应该从列表中而不是从我的“e”obj 中进行吗? 如果是这样,为什么首先使用 obj 呢?为什么不将用户输入直接插入到 List 中? 您需要了解的是,“e”只是一个名称,我使用它的唯一原因是让它更像您所写的。在这里完全没有区别。 “e = 新员工();员工。添加(e);”基本上意味着“创建一个新的员工对象——我们称之为 e。现在将 e 放在列表中。”,“employees.Add(new Employee())”的意思是“创建一个新员工并将其放在列表中”。这些生成完全相同的编译代码。以上是关于如何从 c# 控制台应用程序中的用户输入创建多个对象?的主要内容,如果未能解决你的问题,请参考以下文章
编写一个C#控制台应用程序,从键盘输入年份,判断此年份是否闰年。