我有int
我要保存为int?
是否有可能,如果是这样的话?
答案 0 :(得分:20)
有一个隐含的转换:
int nonNullable = 5;
int? nullable = nonNullable;
(这在C#规范的第6.1.4节中给出。)
当然,反向操作是不安全的,因为可空值可以为null。有明确的转换,或者您可以使用Value
属性:
int? nullable = new int?(5); // Just to be clear :)
// These are equivalent
int nonNullable1 = (int) nullable;
int nonNullable2 = nullable.Value;
答案 1 :(得分:2)
这是自动的。假设你有以下int
int myInt = 5;
然后您可以毫无问题地编写以下内容:
int? myNullableInt = myInt;