标题:求助, switch case 匹配字符串
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
结帖率:97.22%
已结贴  问题点数:20 回复次数:2 
求助, switch case 匹配字符串
求助, 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;
            }
        }


错误现象:
搜索更多相关主题的帖子: case 匹配 switch Text break 
2022-10-30 02:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
你这不是C语言,也不是C++语言。

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

如果你只是想实现 Switch匹配字符串 这个功能,那C/C++都没有,但C++可以  unordered_map+lambda 实现
2022-10-30 09:14
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 2楼 rjsp
这个实例应该是C# winform, 我使用的是C++ CLR winform。
我现在不需要学习RadioButton分组,只需要学习switch case匹配字符串。

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

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

2022-10-30 09:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510482-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.693781 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved