同样地,
好吧,我知道"盒装可空类型"并不是描述它的最佳方式,但这是为了问题.我知道这是基础价值类型的盒装.
我将用例子来展示它.假设我有一个enum
with int
作为底层类型.
enum Sex { Male, Female }
Run Code Online (Sandbox Code Playgroud)
案例I:
int? i = 1;
object o = i;
Sex e = (Sex)o; //success
//but
Sex e = Sex.Male;
object o = e;
int? i = (int?)o; //invalid cast
Run Code Online (Sandbox Code Playgroud)
案例二:
Sex? e = Sex.Male;
object o = e;
int i = (int)o; //success
//but
int i = 1;
object o = i;
Sex? e = (Sex?)o; //invalid …
Run Code Online (Sandbox Code Playgroud)