如何在运行时在C#中动态创建和命名对象?
我希望在运行时动态创建并命名我的对象的实例,因为我将它们添加到一个列表类中,我不知怎么地认为这在c#中是一件简单的事情,但到目前为止,我找不到关于如何实现这一点的任何信息 对于简短的描述,我有一个自定义类,在运行时,我希望创建一个数组列表,并用custon类的对象填充它,但在将对象添加到列表时,使用循环索引和标准名称命名这些对象如何在运行时在C#中动态创建和命名对象?,c#,.net,dynamic,C#,.net,Dynamic,我希望在运行时动态创建并命名我的对象的实例,因为我将它们添加到一个列表类中,我不知怎么地认为这在c#中是一件简单的事情,但到目前为止,我找不到关于如何实现这一点的任何信息 对于简短的描述,我有一个自定义类,在运行时,我希望创建一个数组列表,并用custon类的对象填充它,但在将对象添加到列表时,使用循环索引和标准名称命名这些对象 这可能吗?如果要给它们命名,请将它们添加到映射中,而不是列表中。对象在.NET中没有名称 另外,不要使用ArrayList类。使用列表。有点奇怪,因为你不能“命名”对象
这可能吗?如果要给它们命名,请将它们添加到映射中,而不是列表中。对象在.NET中没有名称
另外,不要使用
ArrayList
类。使用列表
。有点奇怪,因为你不能“命名”对象
但是,您可以使用通用字典(
字典
)来完成听起来像是您在尝试实现的事情。字典中的字符串键有点像对象名,键对应的值包含对象实例。您是否正在寻找类似..?您可以拥有一个允许您通过索引访问其元素的列表,或者拥有一个允许您对任何特定类型进行相同操作的命令:
List<YourClass> yourList = new List<YourClass>();
YourClass instance = new YourClass();
yourList.Add(instance);
YourClass instance2 = yourList[0];
List yourList=新列表();
YourClass实例=新建YourClass();
添加(实例);
YourClass实例2=yourList[0];
例如,如果希望词典带有字符串键(“名称”):
dictorial dict=new dictorial();
YourClass实例=新建YourClass();
dict.Add(“someName”,实例);
YourClass instance2=dict[“someName”];
与PHP不同,C#中没有内置的集合类型,允许您通过索引或键访问其成员。不过,您可以自己创建。我为不清楚表示歉意。现在是0430,我早该上床睡觉了:)桑德斯你说得很对。这里不想争论,但我想说的恰恰相反,因为你通常会在某个时候将对象分配给变量,即使只是模糊地将它们埋在一个列表中,通过这个列表,你可以在代码中找到并识别它们。。。有效地为他们提供了一个分类名称。同样,您始终可以选择为对象提供名称属性。。。想想看,任何语言,无论是视觉上的还是其他方面的,都是如此。:-)听起来OP在这里谈论的不是变量,而是对象。一般来说,物体没有名字。我现在醒着,全力以赴地射击,但S Robins准确地描述了我当时试图实现的目标。很抱歉,这不够清晰,但连续28个小时以上起床可能会影响一个人的推理能力
Dictonary<string, YourClass> dict = new Dictonary<string, YourClass>();
YourClass instance = new YourClass();
dict.Add("someName", instance);
YourClass instance2 = dict["someName"];