【问题标题】:How to use tricks in combination of "IF" conditions?(C# ASP.NET)如何结合“IF”条件使用技巧?(C# ASP.NET)
【发布时间】:2010-10-29 06:20:14
【问题描述】:

我的表单中有四个复选框。我有一个名为“CheckedString”的字符串变量。如果我选中第一个复选框“A”必须分配给“CheckedString”。如果我一次选择第一个和第二个复选框。 “AB”必须分配给“CheckedString”。如果我选择第三个和第四个复选框“CD”必须分配给“CheckedString”。所以存在几个组合。如何在 C 语言中实现这一点。请帮忙?

【问题讨论】:

    标签: c# .net asp.net if-statement logic


    【解决方案1】:

    伪代码,因为我的 VS2008 目前处于“软管”状态,我无法检查:

    string CheckedString = ""
    if checkbox a is set:
        CheckedString += "A"
    if checkbox b is set:
        CheckedString += "B"
    if checkbox c is set:
        CheckedString += "C"
    if checkbox d is set:
        CheckedString += "D"
    

    瞧!你有它。您只需按顺序附加每个复选框的值。

    【讨论】:

    • @RC,如果你把它翻译成 C#,我会支持你。只是昨天我的VS2008在我身上崩溃了,我还没有机会重新安装。塞进去吧,我想我会弄出 VS2010。
    【解决方案2】:
    string result = String.Format("{0}{1}{2}{3}", 
                      checkboxA.Checked ? "A" : string.Empty,
                      checkboxB.Checked ? "B" : string.Empty,
                      checkboxC.Checked ? "C" : string.Empty,
                      checkboxD.Checked ? "D" : string.Empty
                    );
    

    【讨论】:

      【解决方案3】:
      string CheckedString = (cbxA.Checked ? "A" : "") + 
                  (cbxB.Checked ? "B" : "") + 
                  (cbxC.Checked ? "C" : "") + 
              (cbxD.Checked ? "D" : "");
      

      【讨论】:

        【解决方案4】:

        使用 paxdiablo。对于更“通用”的解决方案,您可以在 LINQ 中执行类似的操作(假设您在数组中有复选框):

        var chars = Enumerable.Range(0, checkBoxes.Length) // 0, 1, 2, 3
                              .Where(i => checkBoxes[i].Checked) // 0, 2
                              .Select(i => (char)('A' + i)); // A, C
        
        var myString = new string(chars.ToArray()); // "AC"
        

        或者,使用for循环:

        var sb = new StringBuilder();
        
        for (int i = 0; i < checkBoxes.Length; i++)
        {
            if (checkBoxes[i].Checked)
                sb.Append((char)('A' + i));
        }
        
        var myString = sb.ToString();
        

        【讨论】:

          【解决方案5】:

          他们用 C# 编写并使用函数(可重用性):

          string CheckedString = string.Empty;
          CheckedString += AssignCheckBox(chkBoxFirst, "A");
          CheckedString += AssignCheckBox(chkBoxSecond, "B");
          CheckedString += AssignCheckBox(chkBoxThird, "C");
          CheckedString += AssignCheckBox(chkBoxFourth, "D");
          

          而功能是:

          public string AssignCheckBox(CheckBox chk, string strSet)
          {
              return chk.Checked ? strSet : string.Empty;
          }
          

          【讨论】:

            猜你喜欢
            • 2010-10-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-05
            • 1970-01-01
            • 2013-04-13
            • 1970-01-01
            • 2012-04-14
            相关资源
            最近更新 更多