将值分配给bool';s基于复选框
本文关键字:复选框 分配 bool | 更新日期: 2023-09-27 18:27:13
在我的代码中,我有一个名为"教师"的类,它里面有一些数组:
public class teacher
{
//monday
public bool[] mon = new bool[11];
//tuesday
public bool[] tue = new bool[11];
//wednesday
public bool[] wed = new bool[11];
//thursday
public bool[] thu = new bool[11];
//fri
public bool[] fri = new bool[11];
};
还有一份教师名单:
List<teacher> teachers = new List<teacher>();
现在,一旦我点击一个添加教师的按钮,我就希望这些数组填充相关复选框的值,即
teachers.Add(new teacher
{
mon[0] = checkBox25.Checked,
mon[1] = checkBox26.Checked,
mon[2] = checkBox27.Checked,
}
但它不允许我访问mon[0],因为它说"无效的初始值设定项成员声明符"。关于如何分配价值有什么想法吗?
我还将最后一段代码更改为:
mon = {checkBox25.Checked, checkBox26.Checked, checkBox27.Checked, checkBox28.Checked, checkBox29.Checked, checkBox30.Checked, checkBox31.Checked, checkBox32.Checked, checkBox33.Checked, checkBox34.Checked, checkBox35.Checked},
但是现在它说它不能用集合初始化器初始化bool[]类型的对象。
拜托,如果有人知道该怎么处理的话,我真的很感激。
最后两个部分在初始化器中不起作用的原因是您需要这样做:
teachers.Add(new teacher
{
mon = new[]
{
checkBox25.Checked,
checkBox26.Checked,
checkBox27.Checked,
checkBox28.Checked,
checkBox29.Checked,
checkBox30.Checked,
checkBox31.Checked,
checkBox32.Checked,
checkBox33.Checked,
checkBox34.Checked,
checkBox35.Checked
},
// etc...
});
您需要其中的new[]
来构造bool的新数组,然后初始化器列表指定其内容。
也就是说,你最好把复选框控件收集在一起(在数组或List<T>
等中),这样你就可以在作业中查询它们,比如:
teachers.Add(new teacher
{
mon = monCheckBoxes.Select(cb => cb.Checked).ToArray(),
tue = // etc...
});