vib*_*bhu 1 .net c# datetime nullable variable-assignment
我有两个与DateTime分配相关的问题
DateTime? y = 1 == 1 ? null: DateTime.MaxValue;
DateTime? y = null; // assignment works as expected
Run Code Online (Sandbox Code Playgroud)
null和之间发生类型转换错误DateTime?哪个是DateTime?c#中空赋值的首选方法.
DateTime? x = default(DateTime?); //prints null on console
DateTime? x = null; // prints null on console
DateTime? x = DateTime.MinValue; //print 01/01/0001
Run Code Online (Sandbox Code Playgroud)第二个语句DateTime? y = null;只是对可空对象赋值null.
其中第一个是条件赋值,它为真实状态分配一些值,为false分配一些其他值; 在这里,您使用条件运算符来评估条件.根据MSDN first_expression (如果为true则执行)和second_expression*(如果为false则执行)*必须是相同类型,或者必须存在从一种类型到另一种类型的隐式转换.在我们的例子中两者都不同所以简单的解决方案是进行显式转换,如下所示:
DateTime? y = 1 == 1 ?(DateTime?) null : DateTime.MaxValue;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3127 次 |
| 最近记录: |