注册 登录
编程论坛 C语言论坛

求助, switch case 匹配字符串

追梦人zmrghy 发布于 2022-10-30 02:56, 887 次点击
求助, switch case 匹配字符串
在网上看到这样一个实例,switch case 居然可以匹配字符串,为什么我尝试了好久还出错,switch case无法匹配字符串,


当多个RadioButton同在一个容器里面的时候,多半的操作都是要得到其中一个的值这个时候我们就没有必要去为每一个RadioButton写一个CheckedChange事件,这样会写很多代码,太累了。这个时候我们就可以借住委托来添加一个新的事件,用新的事件代替所有RadioButton的CheckedChange事件。我要实现的要求就是:当选择中任意一个RadioButton的时候Label17就变成我选择的RadioButton的Text值      

只有本站会员才能查看附件,请 登录



  public void radioBtn_CheckedChange(object sender, EventArgs e)
        {
            if (!((RadioButton)sender).Checked)
            {
                return;
            }
            string rechargeMoney = string.Empty;
            switch (((RadioButton)sender).Text.ToString())
            {
                case "10":
                    rechargeMoney = "10";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "20":
                    rechargeMoney = "20";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "30":
                    rechargeMoney = "30";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "40":
                    rechargeMoney = "40";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "50":
                    rechargeMoney = "50";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "100":
                    rechargeMoney = "100";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                default:
                    break;
            }
        }


错误现象:
只有本站会员才能查看附件,请 登录
2 回复
#2
rjsp2022-10-30 09:14
你这不是C语言,也不是C++语言。

如果用MFC,把这些radio button分在同一组,就可以……
如果不属于同一组,把ID弄成连续的,用 ON_COMMAND_RANGE

如果你只是想实现 Switch匹配字符串 这个功能,那C/C++都没有,但C++可以  unordered_map+lambda 实现
#3
追梦人zmrghy2022-10-30 09:53
回复 2楼 rjsp
这个实例应该是C# winform, 我使用的是C++ CLR winform。
我现在不需要学习RadioButton分组,只需要学习switch case匹配字符串。

在C++ CLR winform中,RadioButton分组很简单。
使用 GroupBox

[此贴子已经被作者于2022-10-30 10:05编辑过]

1