C# 中的switch 语句

jiangtianyin 2009-03-01 10:23:39
帮我看看这个程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("please input a character!");
char ch = (char)Console.Read();

switch (ch)
{
case 'a':
Console.WriteLine("the character is a");
case 'b':
Console.WriteLine("the character is b");
default :
Console.WriteLine("charcater is not define");
}
}
}
}

编译报错如下:
Error 1 Control cannot fall through from one case label ('case 'a' (0x61):') to another D:\Backup\我的文档\Visual Studio 2008\Projects\array\ConsoleApplication2\Program.cs 20 17 ConsoleApplication2
Error 2 Control cannot fall through from one case label ('case 'b' (0x62):') to another D:\Backup\我的文档\Visual Studio 2008\Projects\array\ConsoleApplication2\Program.cs 22 17 ConsoleApplication2
Error 3 Control cannot fall through from one case label ('default:') to another D:\Backup\我的文档\Visual Studio 2008\Projects\array\ConsoleApplication2\Program.cs 24 17 ConsoleApplication2
...全文
2362 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmlsimple 2009-03-07
  • 打赏
  • 举报
回复
顶~加break
xuexingchao 2009-03-05
  • 打赏
  • 举报
回复
之前搞java的吧。
Johnsen2009 2009-03-05
  • 打赏
  • 举报
回复
比较基础啊!
xsm545 2009-03-05
  • 打赏
  • 举报
回复
基本语法问题,不应该啊
yang_gs 2009-03-05
  • 打赏
  • 举报
回复
以上的break , return , goto 都是可以的
gzxlq 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 staywithc 的回复:]
引用 34 楼 aimeast 的回复:
但是没有想到这么弱的问题都会被推荐


唉,同意
[/Quote]
同感,我还以为switch有什么高深的用法呢
redboy333 2009-03-03
  • 打赏
  • 举报
回复
bluecomputer 2009-03-03
  • 打赏
  • 举报
回复
这几天正在学习呢。也来凑凑热闹!呵呵
小范f-li.cn 2009-03-03
  • 打赏
  • 举报
回复
O(∩_∩)O
dengenming 2009-03-03
  • 打赏
  • 举报
回复
rightyeah 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xhueducls 的回复:]
case后必须加break死规定
[/Quote]up
forplay 2009-03-03
  • 打赏
  • 举报
回复
O(∩_∩)O哈哈~,这个嘛。。。
staywithc 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 aimeast 的回复:]
但是没有想到这么弱的问题都会被推荐
[/Quote]

唉,同意
ilifinil 2009-03-03
  • 打赏
  • 举报
回复
在首页走了进来,没想到竟然是这么欢乐的问题。
aimeast 2009-03-03
  • 打赏
  • 举报
回复
但是没有想到这么弱的问题都会被推荐
aimeast 2009-03-03
  • 打赏
  • 举报
回复
只要有break,goto,throw,return 等可以跳转出去的语句都可以。

C#是禁止穿越case语句。这一点不像c\c++。
鱼C缸 2009-03-02
  • 打赏
  • 举报
回复
兄弟,语法很重要的
mywei2008 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yingmu 的回复:]
引用 5 楼 zhoukang0916 的回复:
break;

正解


同意
[/Quote]

同意
yeemio 2009-03-02
  • 打赏
  • 举报
回复
必须加break的
kfc5017 2009-03-02
  • 打赏
  • 举报
回复
11楼正解
每个case后都要加“break;”
如果是几个case 执行同一个操作就用15楼的
如果后面有default 就也要加“break;”

加载更多回复(24)

111,126

社区成员

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

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

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