有
一个隐含的转换:
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;