在运行时期间以程序方式创建和命名对象

时间:2014-02-28 23:28:51

标签: c#

我一直在寻找在运行时创建类cPerson的多个实例的方法。

我正在使用List来保存所有cPerson对象,但我需要能够在方法中向列表中添加更多内容。我发现的唯一相关问题涉及使用字典作为解决方案,但我想知道这是否是100%必要的。

TL;博士

C#中是否有任何方法可以在运行时命名对象?

void Method()
{
    People.Add(new cPerson "unique generated name")
}

1 个答案:

答案 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)]);
}