原来在switch case中,如果多个case输出相同,case可以这样写 受教了
如下面这个输出月份的天数的经典问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A_Month_Has_Days_Modified
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入你要查询的年份");
int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入你要查询的月份");
int month = Convert.ToInt32(Console.ReadLine());
int bigDay = 31, smallDay = 30, leapDay = 29, nonleapDay = 28;
bool isLeapYear;
if ((year % 400 == 0) || ((year % 4 != 0) && (year % 100 == 0)))
{
isLeapYear = true;
}
else
{
isLeapYear = false;
}
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
Console.WriteLine("{0}年{1}月共有{2}天", year, month, bigDay);
break;
case 4:
case 6:
case 9:
case 11:
Console.WriteLine("{0}年{1}月共有{2}天", year, month, smallDay);
break;
case 2:
if (isLeapYear == true)
{
Console.WriteLine("{0}年{1}月共有{2}天", year, month, leapDay);
}
else
{
Console.WriteLine("{0}年{1}月共有{2}天", year, month, nonleapDay);
}
break;
default:
Console.WriteLine("您输入的年份或月份格式不正确,年份为四位数字,月份为1至12");
break;
}
Console.ReadKey();
}
}
}