【问题标题】:C# Checkboxes OptimisationC# 复选框优化
【发布时间】:2020-03-19 15:51:42
【问题描述】:

我有一个面板,里面有 5 个复选框,每个工作日一个。此场景中的用户正在预订一周的约会。 我有一个WeeklyBooking 课程。这个类有五个布尔值,星期一、星期二、星期三、星期四、星期五。默认情况下,所有布尔值都设置为 false。当一个复选框被选中时,对应的布尔值变为真。

        private void CheckCBs(WeeklyBooking week)
    {
        if (MondayCB.Checked)
        {
            week.monday = true;
        }
        if (TuesdayCB.Checked)
        {
            week.tuesday = true;
        }
        if (WednesdayCB.Checked)
        {
            week.wednesday = true;
        }
        if (ThursdayCB.Checked)
        {
            week.thursday = true;
        }
        if (FridayCB.Checked)
        {
            week.friday = true;
        }
        return;
    }

这是我在构建要放入 SQL 表中的对象时以不同的方法调用的方法。 有人对如何优化此方法有任何建议吗? - 谢谢。

【问题讨论】:

  • 从来没有codereview
  • 这能回答你的问题吗? C# multiple checkboxes
  • 您可以从消除所有那些完全多余且非常烦人的花括号开始。我认为这将大大有助于优化您的功能。
  • 我想知道如果用户点击星期一,然后将选择更改为星期五会发生什么......

标签: c# performance optimization checkbox


【解决方案1】:

if() 语句不是必需的。 ComboBoxChecked 属性已经是 bool,如果未选中该复选框,则该属性为 false。只需将 Checked 属性的值分配给您的 WeeklyBooking 对象属性:

private void CheckCBs(WeeklyBooking week)
{
    week.monday = MondayCb.Checked;
    week.tuesday = TuesdayCb.Checked;
    week.wednesday = WednesdayCb.Checked;
    week.thursday = ThursdayCb.Checked;
    week.friday= FridayCb.Checked;
}

【讨论】:

  • 非常感谢。
猜你喜欢
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 2021-02-13
  • 2018-08-04
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
相关资源
最近更新 更多