有没有办法在c#中运行时创建对象?
为简单起见,假设以下问题.. 如果我有这个班..
class student {
string name;
int ID;}
假设我正在编写一个程序,从用户那里获取学生人数(例如15),然后该程序应该从学生班级创建15个对象,并要求用户填写每个学生的姓名和ID。
我想知道的是如何在运行时创建对象?
答案 0 :(得分:6)
有没有办法在c#中运行时创建对象?
由于您知道要在编译时创建的对象的类型,因此可以使用List<Student>
来表示可以向其添加元素的对象的动态集合。然后在运行时,您可以要求用户输入要创建的学生数量,然后您将遍历此数字并使用列表中的Add方法向其中添加新元素。
就创建对象实例而言(在您的情况下为Student
),您只需使用new
关键字调用constructor即可。
如果在编译时不知道要创建的对象的类型,则可能需要求助于Reflection,以便在运行时动态创建它们的实例。
在你提出问题之前,答案是否定的,在你为完成这项家庭作业做出一些努力之前,我不会为你编写代码。
答案 1 :(得分:1)
首先,您应该考虑一个对象来保存您要创建的所有实例。 也许List< Student > .. 然后,您可以使用for-loop创建您喜欢的每个实例(使用new关键字)。 在循环内部,您可以获取用户输入以设置实例值(学生的姓名和ID)。