我正在尝试使用这样的东西:
for (int i = 0; i < 40; i++)
{
string x + i = TextBox + i.Text;
}
这有什么解决方案吗?我想使用i
作为索引,就像我有一个TextBox
数组一样。如何实现文本框的Text属性?
我想创建一个名为x1,x2,x3,x4 ...的字符串,以及x1 = TextBox1.Text的值。 但我不能:(
我有TextBox1,2,3 ... 40,我只想将他们的文本值传递给新的字符串或字符串列表ex。像x1 = TextBox1.Text,x2 = TextBox2.Text; ..... :(
答案 0 :(得分:1)
您正试图从Text
的集合中获取TextBox
属性 - 顺便说一句,您还没有向我们展示您的获取方式。您甚至可能拥有数组TextBox
。
如果你这样做,你就会使用这样的代码(请注意,SomeCodeToGetTextBoxArray()
需要由你定义):
TextBox[] myTextBoxes = SomeCodeToGetTextBoxArray();
var arrayLength = myTextBoxes.Length;
String[] x = new String[arrayLength];
for (int i = 0; i < arrayLength; i++)
{
x[i] = myTextBoxes[i].Text;
}
答案 1 :(得分:1)
您要做的是通过它在运行时生成的字符串名称来引用局部变量,字段或属性。做你想做的事的唯一方法就是使用反射。
根据变量是本地作用域,字段成员还是属性成员,有不同的方法可以执行此操作。
反思 - LocalVariableInfo
- FieldInfo
- PropertyInfo
请注意,虽然这将是您的问题的答案,但最好使用数组(或List<T>
)并使用索引。但是,如果不知道你想要做什么(不只是在你的小片段中),真的不可能知道。但是,阵列(或List<T>
)更可能是更正确的解决方案。