首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在"IF“条件的组合中使用技巧?(C# ASP.NET)

如何在"IF“条件的组合中使用技巧?(C# ASP.NET)
EN

Stack Overflow用户
提问于 2010-10-29 14:20:15
回答 5查看 970关注 0票数 1

我的表单中有四个复选框。我有一个名为"CheckedString“的字符串变量。如果我选中第一个复选框,"A“必须分配给"CheckedString”。如果我同时选中第一个和第二个复选框。必须将"AB“赋值给"CheckedString”。如果我选中第三和第四个复选框"CD“必须分配给"CheckedString".So,则存在几个组合。如何用C实现这一点。请帮帮忙?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-10-29 14:23:47

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

代码语言:javascript
复制
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"

瞧!这就对了。您只需按顺序追加每个复选框的值即可。

票数 4
EN

Stack Overflow用户

发布于 2010-10-29 14:40:26

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2010-10-29 14:29:26

使用paxdiablo。对于更“通用”的解决方案,你可以在LINQ中这样做(假设你在数组中有复选框):

代码语言:javascript
复制
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循环:

代码语言:javascript
复制
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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4049477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档