有人可以解释一下我必须投到的逻辑原因吗null
int?
什么时候左参数类型可以同时具有它们的两种类型?
决定做
int? k = (DateTime.Now.Ticks%5 > 3 ? 1 : null);
我必须这样做
int? k = (DateTime.Now.Ticks%5 > 3 ? 1 : (int?) null);
虽然int? k = null
是完全有效的。
一个相反的例子:
我不必这样做:
string k = (DateTime.Now.Ticks%5 > 3 ? "lala" : null);