为什么"as"不适用于Value类型而"is"呢?

idm*_*idm 3 c#

'as'运算符不适用于值类型,而'是'.为什么?

Øyv*_*hen 7

因为如果类型不匹配,则as运算符返回null,并且值类型不能保存null值.

例如

double d = myVariable as double;
Run Code Online (Sandbox Code Playgroud)

如果myVariable不是a double,d将是null,并且这不是a的适当值double.

  • 注意你*可以*使用`as`和可空的值类型,`double?`,`int?`等. (4认同)