| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8150 人关注过本帖
标题:C#中switch必须用break么??
只看楼主 加入收藏
夏色沙漏
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-11-12
收藏
 问题点数:0 回复次数:30 
C#中switch必须用break么??

前几天考试考java有一题目我拿去C#中运行不行~~~~(意思没变,当然学法不一样啦~) 下面写点C#的~~ using System;

namespace ConsoleApplication3 { /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { int i=0j=0; switch(i) { case 1:j+=1; case 4:j+=6; default:j+=2; case 0:j+=4; } Console.WriteLine("{0}",j); // // TOD 在此处添加代码以启动应用程序 // } } } 现在我写下JAVA的程序~~ import java.io.* c lass ziga{ public static void main(String[] args) { int i=0,j=0; switch(i) { case 1:j+=1; case 4:j+=6; default:j+=2; case 0:j+=4; } System.out.println("j="+j); } } 这个在JAVA中运行结果是j=4 我拿到C#中,它提示无法贯穿~~感觉就是没办法从1到2或者是跳过DEFAULT去找最后一个CASE~~ 怎么回事呢??在C#中是不能没BREAK么??????????

搜索更多相关主题的帖子: switch break 
2004-12-30 18:22
夏色沙漏
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-11-12
收藏
得分:0 

using System;

namespace ConsoleApplication3 { /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { int i=0,j=0; switch(i) { case 1:j+=1; case 4:j+=6; default:j+=2; case 0:j+=4; } Console.WriteLine("{0}",j); // // TOD 在此处添加代码以启动应用程序 // } } } 用c#的忘了在i和j中间加逗号了,刚才打字打错了,现在改了,但是不关这个的事,有了逗号还是不能贯穿的 感觉就是没break,我加了break就可以运行了~~~~~~ 在C中没break也可以运行~~~~~~~ C#不行么?还是要写一个异常处理的呢???????

2004-12-30 18:32
ronan
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2004-12-27
收藏
得分:0 
在C#中默认的是case必须使用break的,default可以不加break,因为加和不加运行结果都是一样的

但是我记得曾经看到它也可以不加break也可以运行,前面要加个什么语句我忘记了,刚才也没有找到,以后找到了我会发短信息告诉你的

Happiness is a journey, not a destination. So... Work like you don\'t need money Love like you\'ve never been hurt And dance like no one\'s watching 才开的游戏论坛http://ronan.185.cc/,希望碰场
2004-12-30 20:32
梦卿
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2004-11-28
收藏
得分:0 
要用BREAK拉,别懒了
2004-12-30 22:21
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
C#不允许一个case落空进入另一个case。
要实现落空样式的执行,可以使用goto关键字。  不过建议不要这样使用
,尽量使用break语句跳转语句隔离每个case 语句。

大家都是朋友,有空就来坐坐!
2004-12-31 13:41
ronan
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2004-12-27
收藏
得分:0 
嗯,楼上说的对,可以使用goto来实现跳转,以前算距离什么日期有多远的常用算法用goto还是很方便的

Happiness is a journey, not a destination. So... Work like you don\'t need money Love like you\'ve never been hurt And dance like no one\'s watching 才开的游戏论坛http://ronan.185.cc/,希望碰场
2005-01-01 16:12
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
啊?怎么我看的书上说的版本不是这样,它说在C#中不用再加break这么麻烦了。

ps: 一个帖子四个斑竹都回帖,良好循环的开始!
2005-01-01 16:36
夏色沙漏
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-11-12
收藏
得分:0 
是呀,在这边我是个出学者,很感谢各位斑竹大人~~~~~~~~~~~~~~
因为我考了那题是JAVA,我想把他变成C#来看看~~~~~~~~~~~~~
2005-01-03 13:40
william_chen
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-1-4
收藏
得分:0 
请大家原谅我来挣积分下载
2005-01-04 17:48
adm_qxx
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2005-4-5
收藏
得分:0 

从MSDN Copy来的:

请注意,每个块(包括最后一个块,不管它是 case 语句还是 default 语句)后都要有 jump-statement。与 C++ switch 语句不同,C# 不支持从一个 case 标签显式贯穿到另一个 case 标签。如果要使 C# 支持从一个 case 标签显式贯穿到另一个 case 标签,可以使用 goto 一个 switch-casegoto default


学习是进步的基础.
2005-04-05 15:49
快速回复:C#中switch必须用break么??
数据加载中...
 
   



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

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