string类型变量值转换成int型变量值的趣味实例

众所周知C#中的值变量需要遵守“明确赋值原则”,但是在一些特殊的情况下,也是可以在不对其赋初值的情况下使用非引用型变量,即值类型变量。

我们可以看到string类型变量a并没有赋初值,尽管a 的值始终为null;但是当把a转化成int型变量i的值的时候,发生了一个有趣的事情——string类型变量a的null值转化成int型数值时,null值变成了整数0了。而null值的本质为引用类型的值,为什么“指向”值为null的引用对象a之后就有了一个整数0的值呢?

string类型变量值转换成int型变量值的趣味实例