我想编写一个扩展方法,将一天添加到 Nullable DateTime,但修改日期本身。
我想按如下方式使用它:
someDate.AddOneDay();
这直接改变了 someDate 的值。
我最初写的代码是:
public static DateTime? AddOneDay(this DateTime? date)
{
if (date.HasValue)
{
date.Value = date.Value.AddDays(1);
}
return null;
}
但这不起作用,因为引用已更改,因此以这种方式调用它 不会改变 someDate 的值。
有没有办法实现这一点并避免像这样的代码:
someDate = someDate.AddOneDay();
我也在考虑 DateTime 属性的一些 setter ,但它们没有任何......
public int Day { get; }
public int Month { get; }
public int Year { get; }
最佳答案
你不能 DateTime 是不可变的,应该保持这种状态。
只是做:
someDate = someDate.AddOneDay();
如果您想更具体一些,您可以将函数重命名为:
DateTime? someDate = someDate.AddOneDayOrDefault();
关于c# - 约会时间? AddDays 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28020719/