| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:就stalk朋友的帖子引出的问题
只看楼主 加入收藏
polestar707
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2004-12-11
收藏
 问题点数:0 回复次数:4 
就stalk朋友的帖子引出的问题
using System; class SwitchCase { static void Main() { Console.WriteLine("请输入你选择的0-2:"); int c=Console.Read(); switch (c) { case 0: Console.WriteLine("你选择了CASE 0。"); break; case 1: Console.WriteLine("你选择了CASE 1。"); break; case 2: Console.WriteLine("你选择了CASE 2。"); break; default: Console.WriteLine("不能这样");break; } } } 比如在输入0的时候,就直接跳转到default后执行。如果改成case ' 0 '等等,就能正常运行,这是为什么呢?
搜索更多相关主题的帖子: stalk 帖子 朋友 
2005-03-14 11:38
polestar707
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2004-12-11
收藏
得分:0 
或者把程序改成:
using System;
class SwitchCase
{
 static void Main()
 {
  stnsole.WriteLine("请输入你选择的0-2:");
  string c=Console.ReadLine();
  int n=int.Parse(c);
  
  switch (n)
  {
   case 0:
    Console.WriteLine("你选择了CASE 0。");
    break;
   case 1:
    Console.WriteLine("你选择了CASE 1。");
    break;
   case 2:
    Console.WriteLine("你选择了CASE 2。");
    break;
   default:
    Console.WriteLine("不能这样");break;
  }
 }
}

也可以。什么时候写case 0,什么时候用case '0'呢?
2005-03-14 11:42
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
这是因为readline读入的是字符,不是数字。

2005-03-14 14:36
lsj2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2004-11-25
收藏
得分:0 
第一段程序 输入的数字。被当作是字符来处理的。而 三个case 选项都是数字,也就是说都不符合要求。当然会跳到 default:后面执行了。
第二段程序中的 int n=int.Parse(c); 将字符强制转换成int类型。当然可以顺利执行。

我是初学者,有什么不周之处还望各位大虾指点一二。
2005-03-14 20:06
polestar707
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2004-12-11
收藏
得分:0 
昨天查了查console.Read(),这个方法返回类型是int,但是是输入字符的编码值,比如输入1,返回值是49(具体多少记不清楚了)。
各位可以验证一下,比如
int i=Console.Read();
Console.WriteLine("the code is:{0}",i);

Console.ReadLine()的返回类型则是string。
2005-03-15 13:59
快速回复:就stalk朋友的帖子引出的问题
数据加载中...
 
   



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

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