我有一个项目列表(Tlist),我想将它们连续分配给各个变量(T0-T4),这些变量也可以连续命名。
List<int?> Tlist = new List<int?>();
Tlist.Add(1);
Tlist.Add(4);
Tlist.Add(3);
Tlist.Add(1);
Tlist.Add(5);
int? T0 = null;
int? T1 = null;
int? T2 = null;
int? T3 = null;
int? T4 = null;
我可以这样做:
int g = 0;
T0 = Tlist[g++];
T1 = Tlist[g++];
T2 = Tlist[g++];
T3 = Tlist[g++];
T4 = Tlist[g++];
但是,如何在Forloop中重命名变量T0-T4,以提供相同的输出而不必重写每个变量?我想要类似的东西:
int g = 0;
for (int i = 0; i < Tlist.Count; i++)
{
Tg++ = Tlist[g++];
}
所以输出是:
T0 = 1
T1 = 4
T2 = 3
T3 = 1
T4 = 5
感谢您的帮助!
答案 0 :(得分:1)
您确实不需要它,而已为此而添加了int?[]
即可。你可以说
var arr = Tlist.ToArray();
答案 1 :(得分:1)
反射是将TX
设置为属性的一种方式
typeof(myClass).GetProperty("T" + i).SetValue(myClassInstance, i);
https://dotnetfiddle.net/qEoaok
如果此问题与技术可能性无关,并且您想在自己的应用程序中使用它,则最好找到其他方法。