黑马程序员技术交流社区

标题: 关于控制台输出前景色的颜色问题 [打印本页]

作者: 彭清贵    时间: 2013-2-19 01:12
标题: 关于控制台输出前景色的颜色问题
拿这个做例子:
switch (Map[pos])
                {
                    case 0:
                        Console.ForegroundColor = ConsoleColor.White;//这个是将case 0输出的代码的颜色为white,问一下我若是把CASE 1的 Console.ForegroundColor = ConsoleColor.Red;去掉,是不是case 1的也是white,或者case 2去掉  也是white,再或者后面输出的都是white,这一句Console.ForegroundColor = ConsoleColor.White他能让后面的跟它什么关系的代码改颜色,是像if一样吗?没有括号1句,跟个括号,把Console.ForegroundColor = ConsoleColor.White放在第一句,整个括号都是white,出了括号就不是了 是这个意思吗
                        result = "□";
                        break;
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Red;
                        result = "◎";
                        break;
                    case 2:
                        Console.ForegroundColor = ConsoleColor.Green;
                        result = "★";
                        break;
               }

还有个就是恢复颜色了: Console.ResetColor();//求详细解释,我应该怎么用他,用个小例子来一下







作者: 许庭洲    时间: 2013-2-19 08:19
1.case不合并:
   switch(i)
   case 1:
   //
   break;
   case 2;
   //
   break;
2.case合并;
   switch(i)
   case 1:
   case 2:
   //
   break;
3.每个case标签中的常量表达式必须属于或能隐式转换成控制类型;
4.如果有两个或两个以上case标签中的常量表达式值相同,编译时将会报错;
5. switch语句中最多只能有一个default标签.


作者: 彭清贵    时间: 2013-2-19 14:18
许庭洲 发表于 2013-2-19 08:19
1.case不合并:
   switch(i)
   case 1:

话说  还是没看懂
作者: 许庭洲    时间: 2013-2-19 14:51
彭清贵 发表于 2013-2-19 14:18
话说  还是没看懂

switch (Map[pos])
                {
                    case 0:
                    case 1:
                    case 2:
                     Console.ForegroundColor = ConsoleColor.White;//case合并之后,后面输出的都是white
                      result = "□";
                      break;
                 
               }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2