声明变量名为string + integer value

时间:2013-09-10 12:05:23

标签: c# string merge tabcontrol tabpage

我想将tabpages添加到tabcontrol1, 并且需要动态创建的页面

 int a=10;
 TabPage tabpage"+a+" = new TabPage();

我如何实现这一目标:

tabpage10
tabpage12
tabpage13

动态创建

3 个答案:

答案 0 :(得分:6)

你不能,你不应该尝试。相反,要么有一个数组或列表(如果你的数字都是正数,有效地从0开始)或者Dictionary<int, TabPage>用于更一般的映射。

每当你发现你有一个集合的值时,你应该找到一个集合类型 - 而不是很多不同的变量,这些变量碰巧有一个以a开头的名字共同前缀。

答案 1 :(得分:1)

您无法动态生成变量名称 - 也不是您想要的。相反,请考虑将标签页添加到集合中。

List<TabPage> tabs = new List<TabPage>();
tabs.Add(new TabPage()); // 0
tabs.Add(new TabPage()); // 1
tabs.Add(new TabPage()); // 2

答案 2 :(得分:0)

如果你在winforms中:

int a = 10;
tabcontrol1.TabPages.Add(new TabPage("text") { Name = "tabpage" + a });
a++;

然后访问

var page = tabcontrol1.TabPages[0];

或按名称

var page = tabcontrol1.TabPages["tabpage" + a];