switch为什么 这样写不行

那该多好啊!!! 2018-11-07 09:47:37
请问switch为什么 这样写不行
...全文
75 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdf334455 2018-11-08
  • 打赏
  • 举报
回复
很好,学习了。


圣殿骑士18 2018-11-08
  • 打赏
  • 举报
回复
你可以等于你儿子吗?
正怒月神 2018-11-07
  • 打赏
  • 举报
回复
你这个是枚举。 你先看一下枚举怎么使用。
  • 打赏
  • 举报
回复
引用 2 楼 stherix 的回复:
要用
enAutoStep.Step1
enAutoStep.Step2
这样的

这是为什么呢,难道枚举不要转为变量么?
我看VB.NET就要这样写的
程序员的键盘 2018-11-07
  • 打赏
  • 举报
回复
常量 ..............................................
LIZHIztt 2018-11-07
  • 打赏
  • 举报
回复
swich(step) { case enAutoStep.Step1: break; case enAutoStep.Step2: break; ...... }
stherix 2018-11-07
  • 打赏
  • 举报
回复
要用 enAutoStep.Step1 enAutoStep.Step2 这样的
cheng2005 2018-11-07
  • 打赏
  • 举报
回复
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/switch

语法不学吗?
stevenjin 2018-11-07
  • 打赏
  • 举报
回复
那个位置是不支持推断的
Nick大帅仔 2018-11-07
  • 打赏
  • 举报
回复
因为你枚举enAutoStep里的Step0到Step3都不是一个数值,所以他没有办法用swich判断。
swich可以判断是否为一个具体的值。
不能加逻辑判断,或者其他类型。
你这个Step0之类的枚举,从一开始就不是一个值。所以不好判断。
你可以用一个键值对数组,用key来swich判断。
「已注销」 2018-11-07
  • 打赏
  • 举报
回复
case 后面不允许写变量的
张天星 2018-11-07
  • 打赏
  • 举报
回复
引用 5 楼 z15920696563 的回复:
[quote=引用 2 楼 stherix 的回复:]
要用
enAutoStep.Step1
enAutoStep.Step2
这样的

这是为什么呢,难道枚举不要转为变量么?
我看VB.NET就要这样写的[/quote]
枚举是要转成数值来比较的,你得enAutoStep.Step1才是一个值啊。
Step.Step1 这是什么写法?
enAutoStep Step 这个内部变量,你要给它赋值,enAutoStep Step = enAutoStep.Step1或者enAutoStep.Step2或者enAutoStep.Step3,反正Step本身就已经是一个数值了,它里面没有可以用.来调用的了。。。
xuzuning 2018-11-07
  • 打赏
  • 举报
回复
你要这样判断? Step == Step.Step1
什么语言支持这样的比较?

110,561

社区成员

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

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

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