
关于c#中forreach迭代器
foreach(stringsinhobbies)//迭代器只读,不写,非循环,而是遍历{switch(s){case"阅读":checkBox1.Checked=tru...
foreach (string s in hobbies) //迭代器 只读,不写,非循环,而是遍历
{
switch (s)
{
case "阅读": checkBox1.Checked = true;
break;
case "体育": checkBox2.Checked = true;
break;
case "音乐": checkBox3.Checked = true;
break;
case "上网": checkBox4.Checked = true;
break;
case "旅游": checkBox5.Checked = true;
break;
default: checkBox6.Checked = true;
break;
}
}
断点调试结果:
s="阅读"
checkBox1.Checked = true;
s="音乐"
checkBox6.Checked = true;
s="上网"
checkBox6.Checked = true;
为什么从s="阅读"后都执行default 展开
{
switch (s)
{
case "阅读": checkBox1.Checked = true;
break;
case "体育": checkBox2.Checked = true;
break;
case "音乐": checkBox3.Checked = true;
break;
case "上网": checkBox4.Checked = true;
break;
case "旅游": checkBox5.Checked = true;
break;
default: checkBox6.Checked = true;
break;
}
}
断点调试结果:
s="阅读"
checkBox1.Checked = true;
s="音乐"
checkBox6.Checked = true;
s="上网"
checkBox6.Checked = true;
为什么从s="阅读"后都执行default 展开
展开全部
你是在一步一步的调试中看到代码执行了Default了吗?
更多追问追答
追问
是的
追答
我在本地跑了你的代码,并没有出现这样的问题
展开全部
hobbies里面的中文没空格什么的吧?可能的话最好用数字或枚举
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当s不满足下列任一一个Case的条件后就执行default
追问
嗯,这我知道,关键是都满足,却执行default
追答
不应该啊,如果条件满足,就直接跳出此次循环了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s,Trim()一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询