1

我想在 for 语句中创建名为“Item”的类的新实例,但我不知道如何动态命名。

for (i=0; i < Counter; i++)
{
    MyClass "XXXX" = Class.method();
}

如何创建 2 个字符串并命名?-例如-

for(i=0;i<2;i++){
  string name + i = "Hello" 
}

已编辑

我有一些建议来达成我可以创建字典的解决方案。

       var bomItems = new Dictionary<Item, Item>();

       for (int i = 0; i < Count; i++)
       {
           Item bomItem = inn.newItem("Part BOM","add");
           bomItems.Add(bomItem + i, bomItem);
       }

但是我在“bomItem + i”中遇到了一个合理的错误。我不能应用操作数 '+' 。明显地。

有人对此有任何答案吗?

谢谢你。

4

4 回答 4

5

使用数组!

string[] myArray = new string[Counter];
for (int i = 0; i < Counter; i++){
  myArray[i] = "Hello";
}
于 2012-05-07T20:44:07.653 回答
4

您可以使用以下集合List<String>

var list = new List<String>();
for (i=0; i<Counter; i++){
     list.Add("Hello " + i);
}

编辑根据您的评论,您希望通过分配的名称访问变量。那么你应该使用 aDictionary代替(如果名称是唯一的)。

例如:

var names = new Dictionary<String, String>();
for (i=0; i < Counter; i++){
     names.Add("Name" + i, "Hello");
}

现在您可以通过这种方式获取给定字符串键的字符串值:

String name10 = names["Name10"]; // "Hello" since all values are "Hello" in your sample
于 2012-05-07T20:45:10.127 回答
1

您可以使用Dictionary (TKey,TValue)类,其中键是您要计算的字符串。

Dictionary<string, string> myDictionary = new Dictionary<string, string>();
for (i=0; i < Counter; i++)
{
   myDictionary.Add("XXXX", "Hello");  // Matches your above example
}

所以 XXXX 将是您的计数器字符串,而 Hello 将是您希望与之关联的字符串。然后您可以使用检索每个字符串

string myString = myDictionary[XXXX];
于 2012-05-07T20:51:40.887 回答
0

另一种方法是使用StringBuilder,例如

var builder = new StringBuilder();
for (i=0; i<Counter; i++){
     builder.Append("Hello " + i);
}

之后,如果您需要完整的字符串

builder.ToString().

比简单的字符串操作要快得多。

于 2012-05-07T20:51:22.483 回答