同时更改多个名称相似的变量值
本文关键字:相似 变量值 | 更新日期: 2023-09-27 18:18:57
第一次在stackOverflow上,所以这可能是一个非常nooby的问题,但我想知道我是否可以同时改变多个变量值,而不必写出每一个。
下面是我的代码:
public string Label1Text()
{
int index;
for (index = 0; index < 32; index++)
{
if (seatChosen[index])
{
_bookedSeats += "A" + (index + 1) + " ";
Properties.Settings.Default.A1 = true;
}
}
string text = _bookedSeats + ".";
//debug
label1.Text = text;
return text;
}
Properties.Settings.Default.A1 = true;
是我想要修改成这样的内容(理论代码)
Properties.Settings.Default.A[index] = true;
或
Properties.Settings.Default.A + index = true;
我希望你能理解我正在努力完成的任务。
使用反射:(我假设properties. settings . default是一个静态类,A1, A2等是公共静态属性)
Type type = typeof(Properties.Settings.Default);
var prop = type.GetProperty(index.ToString("''A0"));
if (prop != null)
prop.SetValue(null, true);
如果Default是一个实例,你需要将它传递给SetValue而不是null。此外,c# v6允许更简洁的语法。
Type type = Properties.Settings.Default.GetType();
type.GetProperty($"A{index}")?.SetValue(Properties.Settings.Default, true);