我有一些名为test1 .... test10的变量,它们都被声明为字符串。
我想要做的是使用循环计数器从循环内部访问它们:
string test1;
//...
string test10;
for (int i = 1; i < 10; i++)
{
test + i.ToString() = "some text";
}
任何想法我怎么能这样做? 这是一个WPF .net 4 windows App。
答案 0 :(得分:10)
简单回答:没有10个变量,有一个变量是集合:
List<string> test = new List<string>();
for (int i = 1; i < 10; i++)
{
test.Add("some text");
}
有许多逻辑上形成集合的变量是一种设计气味。
(如果真的必须这样做,你可以使用反射。但请不要。)
答案 1 :(得分:4)
你根本不能,为此目的使用List或String-Array。
List<String> myStrings = new List<String>();
for (Int32 i = 0; i < 10; i++)
{
myStrings.Add("some text");
}
String[] myStrings = new String[10];
for (Int32 i = 0; i < myStrings.length; i++)
{
myStrings[i] = "some text";
}
答案 2 :(得分:2)
尝试将它们添加到string[]
数组中,或者只创建一个List<string> list = new List<string>();
。
使用list
,您可以轻松迭代。
答案 3 :(得分:0)
这是不可能的,除非您使用dynamic
关键字,然后您将获得属性而不是真正的变量。看一下ExpandoObject
,它将允许您根据字符串变量添加属性。
在你的情况下,正如其他人所说,你真的应该使用List<string>
答案 4 :(得分:0)
对于像10个项目一样简单的东西,数组是最好的方法。快速而简单。