Lea*_*dro 10 .net c# datetime .net-6.0 dateonly
如何将 nullable 转换DateTime为 nullable DateOnly?所以DateTime?为了DateOnly?
错误说:
错误 CS0029 无法隐式转换类型“System.DateOnly?” 到“系统.日期时间?”
我可以通过DateTime以下DateOnly方式从 转换为:
DateOnly mydate = DateOnly.FromDateTime(mydatetime);
Run Code Online (Sandbox Code Playgroud)
但是可为 null 的值又如何呢?
我有办法,但我认为这不是最好的主意......
Hei*_*nzi 11
让我们创建一个与 完全相同的方法FromDateTime,只是作为 的扩展来调用DateTime:
public static DateOnly ToDateOnly(this DateTime datetime)
=> DateOnly.FromDateTime(datetime);
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用 null 条件成员访问运算符?.将此方法提升为其可为 null 的版本:
var myNullableDateOnly = myNullableDateTime?.ToDateOnly();
Run Code Online (Sandbox Code Playgroud)
不幸的是,C# 没有“空条件静态方法调用运算符”。因此,我们需要这个“扩展方法解决方法”。
public static DateOnly? ToNullableDateOnly(this DateTime? input)
{
if (input == null) return null;
return DateOnly.FromDateTime(input.Value);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7069 次 |
| 最近记录: |