switch case 中如何判断条件是否在一个范围?

xiaoyuerisdahai 2005-06-16 04:37:33
问题很简单,比如:
int i=0;
switch (i)
{
case 0:
Console.WriteLine("0");
case between 10 and 20 :
Console.WriteLine("between 10 and 20 !");
}

如果要判断在10到20之间,该怎么写呢?
当然能用if,但case中能完成这样的功能吗?
...全文
12617 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jamestan 2005-06-17
  • 打赏
  • 举报
回复
case 10 :
case 11 :
case 12 :
case 13 :
case 14 :
case 15 :
case 16 :
case 17 :
case 18 :
case 19 :
case 20 :
Console.WriteLine("between 10 and 20 !");
break;
stty 2005-06-17
  • 打赏
  • 举报
回复
同意楼上的写法
if(a>=1&&a<100)
string b="1-100";
else if (a>=100&&a<200)
string b="100-200";
switch(b)
{
case "1-100" :MessageBox.Show(b);
break;
case "100-200": MessageBox.Show(b);
break;
}
我实现了可以参考一下
chieftech 2005-06-17
  • 打赏
  • 举报
回复
还是用If...else if吧,老大!
xiaoyuerisdahai 2005-06-17
  • 打赏
  • 举报
回复
结贴,贴者有分吧.
grayhoundd 2005-06-17
  • 打赏
  • 举报
回复
可以这样实现:
if(a>=1&&a<100)
b="1-100"
else if (a>=100&&a<200)
b="100-200"
switch(b)
case "1-100" :{...}
case "100-200": {...}
xiaoyuerisdahai 2005-06-17
  • 打赏
  • 举报
回复
不好意思.这是一个通用性的东西,是一个方法.
如果我从1到1000000的话, 按Jamestan(情商蛋蛋)的方法,我这辈子就别干别的了.
xiaoyuerisdahai 2005-06-16
  • 打赏
  • 举报
回复
第一,我知道了结果是不行.

谢谢大家

第二,有原因,那就更好了.
火云牌神 2005-06-16
  • 打赏
  • 举报
回复
不行
flybeyondhj 2005-06-16
  • 打赏
  • 举报
回复
不好意思上面纯属废话
flybeyondhj 2005-06-16
  • 打赏
  • 举报
回复
但可以在case 中再嵌套判断语句去实现呀.
gzlucky 2005-06-16
  • 打赏
  • 举报
回复
不行, case后面只能放常量。
flybeyondhj 2005-06-16
  • 打赏
  • 举报
回复
不幸呀!
zhongwanli 2005-06-16
  • 打赏
  • 举报
回复
不行
xiaoyuerisdahai 2005-06-16
  • 打赏
  • 举报
回复
case 某一个值的时候,也应该是取出i的结果,来和 case后的值判断吧.难道它的逻辑都是 ==

xiaha3 2005-06-16
  • 打赏
  • 举报
回复
应该不能
因为参数只能是常量
这是由编译系统决定的,目的是通过构造特殊的二进制编码并利用寄存器技术提高效率
暗石绿 2005-06-16
  • 打赏
  • 举报
回复
....................
bugcool 2005-06-16
  • 打赏
  • 举报
回复
自定义一个类型;
xiaoyuerisdahai 2005-06-16
  • 打赏
  • 举报
回复
靠,自已不顶不行啊。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧