我想编写一个扩展方法,将一天添加到可为空的日期时间,但修改日期本身。
我想使用它如下:

someDate.AddOneDay();

这直接改变了somedate的值。
我最初写的代码是:
public static DateTime? AddOneDay(this DateTime? date)
{
    if (date.HasValue)
    {
        date.Value = date.Value.AddDays(1);
    }

    return null;
}

但这不起作用,因为引用被更改了,所以这样调用它
不会改变某个日期的值。
有没有办法做到这一点,并避免像这样的代码:
someDate = someDate.AddOneDay();

我还想找个DateTime属性的设置者,但是他们没有。
public int Day { get; }
public int Month { get; }
public int Year { get; }

最佳答案

你不能把日期时间定为不变的,应该保持不变。
只要做:

someDate = someDate.AddOneDay();

如果您想更具体一些,可以将函数重命名为:
DateTime? someDate = someDate.AddOneDayOrDefault();

10-04 13:05