我有一个带有九个按钮和标签的表单。按钮的单击功能可更新标签中的数字。最后,我将标签值保存到文件中。标签的名称如eLabel1,eLabel2,eLabel3 ..我正在使用环绕开关(case)来选择和保存标签。 我的问题是,如果交换机的代码行数较少?我想的是一个像#" e" + i这样的字符串。我知道那里没有.GetByName()但还有其他什么可以使用吗?喜欢.FromHandle()?
这是短版本。 我有九个标签eLabel1,eLabel2,eLabel3 ..
public void save()
{
for (int i = 0; i < 9; i++)
{
string[] posstrings=switchpos(i+1);
//string manipulation stuff
}
}
private string[] switchpos(int i)
{
string e;
string[] posstrings;
switch (i)
{
case 1:
e = eLabel1.Text;
break;
case 2:
//and so on
}
posstrings = new string[11] { e, m, l, s, b, pfc, pfr, pf3, cf, ct, cr};
return posstrings;
}
我想知道是否有不同的方法来进行切换。
答案 0 :(得分:1)
您可以使用对标签的引用创建一个数组:
Label[] labels = { eLabel1, eLabel2, eLabel3, ... };
使用标签中的文本生成数组将是一行的:
string[] values = labels.Select(l => l.Text).ToArray();