1. char grade = \'C\';
  2. switch (grade)
  3. {
  4. case \'A\':
  5. case \'B\':
  6. case \'C\': Console.WriteLine("CCC"); break;
  7. case \'D\': Console.WriteLine("DDD"); break;
  8. default: Console.WriteLine("无效的成绩"); break;
  9. }

无论grad = ABC都输出CCC

  1. char grade = \'A\';
  2. switch (grade)
  3. {
  4. case \'A\': Console.WriteLine("AAA");
  5. case \'B\':
  6. case \'C\': Console.WriteLine("CCC"); break;
  7. case \'D\': Console.WriteLine("DDD"); break;
  8. default: Console.WriteLine("无效的成绩"); break;
  9. }

提示错误:控制不能从一个case标签("case \'A\':")贯穿到另一个case标签

  1. char grade = \'D\';
  2. switch (grade)
  3. {
  4. case \'A\': Console.WriteLine("AAA"); break;
  5. case \'B\':
  6. case \'C\': Console.WriteLine("CCC"); break;
  7. case \'D\':
  8. default: Console.WriteLine("其他成绩"); break;
  9. }

当grade=D其他值(不是ABC)时输出其他成绩

default语句块中也必须添加break

  1. int a = 100;
  2. int b = 201;
  3. switch (a)
  4. {
  5. case 100:
  6. Console.WriteLine("100");
  7. switch (b)
  8. {
  9. case 200: Console.WriteLine("200"); break;
  10. case 201: Console.WriteLine("201"); break;
  11. }
  12. break;
  13. case 101:
  14. Console.WriteLine("101");
  15. break;
  16. default:
  17. Console.WriteLine("其他值");
  18. break;
  19. }

输出100101

  1. for(int i = 0; i < 5; i++)
  2. {
  3. switch (i)
  4. {
  5. case 1: Console.Write("111"); break;
  6. case 2: Console.Write("222"); break;
  7. case 3: Console.Write("333"); break;
  8. case 4: Console.Write("444"); break;
  9. default: Console.Write("其他"); break;
  10. }
  11. Console.WriteLine("\t第" + i.ToString() + "次循环");
  12. }

111.png

  1. for(int i = 0; i < 5; i++)
  2. {
  3. switch (i)
  4. {
  5. case 1: Console.Write("111"); break;
  6. case 2: Console.Write("222"); continue; break;
  7. case 3: Console.Write("333"); break;
  8. case 4: Console.Write("444"); break;
  9. default: Console.Write("其他"); break;
  10. }
  11. Console.WriteLine("\t第" + i.ToString() + "次循环");
  12. }

222.png

注意第2次循环没有输出

不建议在switch中使用continue

版权声明:本文为rainman原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/rainman/p/12895017.html