m0_74388520 2022-12-19 14:49 采纳率: 100%
浏览 44
已结题

c#中Date类的创建不同类别

1.创建Date类, 类中具有年月日三个字段。以不同的方式创建对象(初始化器属性,构造函数以及对其重载。)
不同的方式有什么样的区别
2.在Date类中增加三个方法。天数增加一天,月份增加一月,年份增加一年,日期对象表示范围为21世纪。
三个不同的方法怎么添加

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-12-19 14:59
    关注
    using System;
    namespace ConsoleApp2
    {
        public class Date
        {
            public int Year { get; set; }
            public int Month { get; set; }
            public int Day { get; set; }
            public Date() { }
            public Date(int Year, int Month, int Day)
            {
                this.Year = Year;
                this.Month = Month;
                this.Day = Day;
            }
            public void AddDay()
            {
                Day += 1;
                if (Month == 2) {
                    var RN = (Year % 400 == 0 )|| (Year % 100 != 0 && Year % 4 == 0);
                    if (Month > (RN ? 29 : 28)) AddMonth();
                }
                else if (Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12)
                {
                    if (Day > 31)
                    {
                        Day = 1;
                        AddMonth();
                    }
                }
                else
                {
                    if (Day > 30)
                    {
                        Day = 1;
                        AddMonth();
                    }
                }
            }
            public void AddMonth() {
                Month += 1;
                if (Month > 12)
                {
                    AddYear();
                    Month = 1;
                }
            }
            public void AddYear() {
                Year += 1;
            }
            public override string ToString()
            {
                return $"{Year}-{Month}-{Day}";
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
    
                var d1 = new Date { Year = 2022, Month = 12, Day = 19 };
                var d2 = new Date(2022, 12, 19);
                Console.WriteLine(d1);
                Console.WriteLine(d2);
                d2.AddMonth();
                Console.WriteLine(d2);
                Console.ReadKey();
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度