在循环内创建唯一的名称

本文关键字:唯一 创建 循环 | 更新日期: 2023-09-27 17:51:02

for (var i = 0; i < 3; i++)
{
    List<Object> listName + i = new List<Object>();
    Object objectName + i = new Object();
}

我在脑海中有这样的东西,但我实际上如何做到这一点,使它工作?

在循环内创建唯一的名称

你不能那样做。相反,您可以使用字典:

for (var i = 0; i < 3; i++)
{
    var dictionary = new Dictionary<string, Object>();
    dictionary.Add("myObject" + i, new Object());
}

然后你可以用dictionary["myObject1"]访问你的对象,如果这是你想要的…

在c#中向列表中添加对象时不需要唯一的变量名。

List<int> listName = new List<int>();
for (var i = 0; i < 3; i++)
{
    int objectName = i;
    listName.Add(i);
}

或者,如果你正在寻找一个KeyValuePair,你可以使用字典。

var dictionary = new Dictionary<string, Object>();
for (var i = 0; i < 3; i++)
{
    dictionary.Add("myObject" + i, new Object());
}

然后可以使用:

访问每个值
dictionary["myObject0"]
dictionary["myObject1"]
dictionary["myObject2"]
var dictionary = new Dictionary<string, Object>();
for (var i = 0; i < 3; i++)
{
    dictionary.Add("Object" + i, new Object());
}

我不认为你可以动态命名这样的对象。您可以尝试事先创建一个字典并在循环中赋值。看这里,这和你要找的很相似:c#,动态对象名称?