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
本文介绍了值类型和引用类型之间的转换过程,包括装箱和拆箱操作,并解释了如何使用as和is操作符来确保类型转换的安全性。
2128

被折叠的 条评论
为什么被折叠?



