P150:
1. 装箱(Boxing)是把一个数据项从栈自动复制到堆的行为。即从一个值类型变成引用类型。
2. 拆箱:与装箱相反。若拆箱不成功,会抛出InvalidCastException异常。
3. 为保证拆箱的安全性,引入as 和 is操作符。
string aa = "test string";
Object refObject = aa;
if(refObject is string)
{.......}
这样在IF中的语句是安全的,因为保证了refObject是string类型。
string aa = "test string";
Object refObject = aa;
string bb = refObject as string;
if(bb!=null)
{.......}
as操作符如果转换失败,会返回一个null 并赋值给bb