TEL:400-8793-956
当前位置:程序、服务器

有人可以帮我注释此代码吗,我不太了解

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-30 13:21:17

 问:这是我可以清除表单中所有单选按钮的唯一代码,但是我不知道如何解释。我只是在学习基本的C#,找不到代码或其工作方式的清晰说明。

 
公共IEnumerable <Control> GetAll(控件控件,类型类型) 
        {
            var controls = control.Controls.Cast <Control>(); 
            返回控件。SelectMany(ctrls => GetAll(ctrls,type))。Concat(controls).Where(c => c.GetType()== type); 
        }
private void Reset&#95; button&#95; Click(对象发送者,EventArgs e)
        {
            如果(MessageBox.Show(“确定要重置测试吗?”,“重置吗?”,MessageBoxButtons.YesNo,MessageBoxIcon.Question)== DialogResult.Yes)
            {
                progressBar1.Increment(-100);
                学生名&#95; txtbox.Clear(); 
                var cntls = GetAll(this,typeof(RadioButton));  
                foreach(在cntls中控制cntrl) 
                {
                    RadioButton rbtn =(RadioButton)cntrl; 
                    如果(rbtn.Checked) 
                    {
                        rbtn.Checked = false; 
                    }
                }
            }
        }
 
 
答:就此代码的功能而言,它是某种在线测试引擎的代码片段。如果应试者愿意,编写的代码用于将答案单选按钮重置为空白。
 
 
公共IEnumerable GetAll(控件,类型)
{
var controls = control.Controls.Cast();
返回控件。SelectMany(ctrls => GetAll(ctrls,type))。Concat(controls).Where(c => c.GetType()== type);
}
上面是获取控件类型的方法,在这种情况下为单选按钮。
 
现在出现了单击方法,该方法必须在“重置”按钮单击上执行。
 
    progressBar1.Increment(-100); //用于运行进度条
    student_name_txtbox.Clear(); //从文本框中清除了某些学生的名字。再次,我不知道引用。
    var cntls = GetAll(this,typeof(RadioButton)); //上面介绍了GetAll方法,该方法用于按类型获取所有单选按钮。考虑“ typeof”语法。
    foreach(在cntls中控制cntrl)
    {
    RadioButton rbtn =(RadioButton)cntrl;
    如果(rbtn.Checked)
    {
    rbtn.Checked = false;
    }
    }
上面是用于清除单选按钮检查的foeach循环,仅此而已。
上一篇: 请解决Android Studio中的transformClassesWithJarMergingForDebug错误
下一篇: 注册表格无法连接