我一直在寻找在运行时创建类cPerson的多个实例的方法。
我正在使用List来保存所有cPerson对象,但我需要能够在方法中向列表中添加更多内容。我发现的唯一相关问题涉及使用字典作为解决方案,但我想知道这是否是100%必要的。
TL;博士
C#中是否有任何方法可以在运行时命名对象?
void Method()
{
People.Add(new cPerson "unique generated name")
}
答案 0 :(得分:1)
我不完全确定你的意思,但是如果你想要一个唯一的名字,你可以使用列表中的项目数来命名(假设你想在Initialize args中传递名字)。
void Method()
{
People.Add(new cPerson(People.Count));
}
您还可以创建一个名称数组并使用它:
string[] names = { "Brad", "Ben", "Mark", "James", "Steve", "Laura", "Jon" };
void Method()
{
People.Add(new cPerson(names[names.Length - 1]);
}
或者您甚至可以创建random
来创建随机名称和名称数组:
string[] names = { "Brad", "Ben", "Mark", "James", "Steve", "Laura", "Jon" };
Random rand = new Random();
void Method()
{
People.Add(new cPerson(names[rand.Next(names.Length)]);
}