C#is 和as运算符
2015-01-16 11:32
686 查看
一、类型转换 ************************************************************************************************************** 1.任何类型都可以转换为其基类类型,用隐式转换完成; 2.任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名; 3.使用GetType可以取得任何对象的精确类型; 4.基本类型可以使用Convert类实现类型转换; 5.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型; 6.值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing); ************************************************************************************************************** 二、is/as示例 is转换规则: 1. 检查对象类型的兼容性,并返回结果true(false); 2.不会抛出异常; 3.如果对象为null,刚返回false; 示例: object o = "abc"; if (o is string) //执行第一次类型兼容性检查 { string s = (string)o; //执行第二次类型兼容性检查,并转换 MessageBox.Show("转换成功!"); } else { MessageBox.Show("转换失败!"); } as转换规则: 1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null; 2.不会抛出异常; 3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常; 示例: object o = "abc"; string s = o as string; //执行第一次类型兼容性检查,并返回结果 if (s != null) MessageBox.Show("转换成功!"); else MessageBox.Show("转换失败!"); 注:as比is少执行一次兼容性检查,性能可能会高一点点。
相关文章推荐
- AS3.0中is,as运算符
- 类库、委托、is和as运算符
- as和is运算符
- 运算符 AS和IS 的区别
- ⊙ is 和 as 运算符的原理
- C#为什么使用AS和IS运算符及其性能比较
- 类型转换(C# AS OR IS ?运算符)
- is 与 as 运算符举例
- C#的IS和AS运算符区别
- 【转】重读C#高级编程之几个运算符在实际中的应用:is,as,sizeof,typeof,GetType,??
- C#的IS和AS运算符区别
- checked、is、as、sizeof、typeof运算符、空合并运算符
- C#中的转换运算符as和is
- AS3.0中的is,as运算符
- C#中的AS、IS运算符与强制类型转换
- C#中的AS、IS运算符与强制类型转换
- C# AS OR IS ?运算符
- [C#] as 和 is 运算符以及安全的类型强制转换
- c#的as,is 运算符
- (转)Flash AS3.0中is,as运算符