public void dateList() { // 输入年份 Console.Write("请输入年份:"); int year = int.Parse(Console.ReadLine()); // 使用List集合来存储日历 var calendar = GenerateCalendar(year); calendar.ForEach(x => Console.WriteLine($"{x.year}年{x.month}月{x.day}日{x.WeekDay}星期")); } public static List<date> GenerateCalendar(int year) { List<date> ymrList = new List<date>(); // 循环生成每个月的日历 for (int month = 1; month <= 12; month++) { // 获取指定年份和月份的第一天 DateTime firstDayOfMonth = new DateTime(year, month, 1); // 计算第一天是星期几 int firstDayOfWeek = (int)firstDayOfMonth.DayOfWeek; // 获取指定年份和月份的总天数 int totalDaysOfMonth = DateTime.DaysInMonth(year, month); for (int i = 1; i <= totalDaysOfMonth;) { if (firstDayOfWeek > 6) { firstDayOfWeek = 0; } ymrList.Add(new date { year = year, month = month, day = i++, WeekDay = firstDayOfWeek++ }); } } return ymrList; } public class date { public int year { get; set; } public int month { get; set; } public int day { get; set; } public int WeekDay { get; set; } }