我想在for语句中创建名为“Item”的类的新实例,但我不知道如何动态地给出名称。
for (i=0; i < Counter; i++)
{
MyClass "XXXX" = Class.method();
}
如何创建2个字符串并给出名称? - 例如 -
for(i=0;i<2;i++){
string name + i = "Hello"
}
EDITED
我有一些建议可以达到我的解决方案,我可以创建一个词典。
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”中得到了一个合理的错误。我不能应用操作数'+'。明显。
有人对此有任何答案吗?
谢谢。
答案 0 :(得分:5)
使用数组!
string[] myArray = new string[Counter];
for (int i = 0; i < Counter; i++){
myArray[i] = "Hello";
}
答案 1 :(得分:4)
您可以使用像List<String>
这样的集合:
var list = new List<String>();
for (i=0; i<Counter; i++){
list.Add("Hello " + i);
}
编辑根据您的评论,您希望按照指定的名称访问该变量。然后你应该使用Dictionary
代替(如果名称是唯一的)。
例如:
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
答案 2 :(得分: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];
答案 3 :(得分:0)
另一种方法是使用StringBuilder,例如
var builder = new StringBuilder();
for (i=0; i<Counter; i++){
builder.Append("Hello " + i);
}
之后如果你需要完整的字符串
builder.ToString()
。
比简单的字符串操作快得多。