条款3:操作符is或as优于强制转换
来源:互联网 发布:龙腾世纪3 知乎 编辑:程序博客网 时间:2024/05/01 08:25
对于类型转换通常有两种选择:使用as操作符;强制转换。另外还有一种比较保险的做法:先用is来做一个转换测试,然后在使用as或强制转换。
as和is操作符都不执行任何用户自定义的转换,而且只能用于引用类型。对于值类型只能使用强制转换。
编译器在产生代码是依据变量编译时的类型,对其运行时的类型一无所知,当进行类型转换时,编译器查看其相容性、有没有用户自定义转换 ,若都不成立则编译器产生代码来检查该变量运行时的类型并于目标变量进行比较,如果相等或兼容,则转换成功,否则失败。此处,用户自定义转换操作符只作用于对象的编译时类型,而非运行时类型上
在foreach中使用的是强制类型转换,因为每次current对象都是object类型。
一般情况下不要使用强制类型转换,他们可能带来意想不到的负面效应。
- 条款3:操作符is或as优于强制转换
- 条款3:操作符is或as优于强制转型
- 改善C#程序的50种方法 条款3:操作符is或as优于强制转型
- Effective C# Item3:操作符as或is优于强制转换
- 【C#高效编程50例】条目3:使用is 或 as 操作符而不是强制类型转换
- Effective C# 原则3:选择is或者as操作符而不是做强制类型转换
- 原则3:选择is或者as操作符而不是做强制类型转换
- is和as优于强制性类型转换
- 3、强制类型转换、as和is
- 读书笔记之C#的is和as操作符强制类型转换
- 读书笔记之C#的is和as操作符强制类型转换收藏
- C#中的AS、IS运算符与强制类型转换
- 3. 在 as 和 强制类型转换之间,优先使用 as 操作符。
- [C#] as 和 is 运算符以及安全的类型强制转换
- [C#] as 和 is 运算符以及安全的类型强制转换
- 引用类型转换与is和as操作符
- C#下的强制类型转换应用分析:()、is、as
- 从IL看强制转换和is,as
- 李开复 回答如何学好编程
- 历史书籍
- Intel CR寄存器,CPU工作模式
- 图片看看
- 第32期-制作条码(barcode)
- 条款3:操作符is或as优于强制转换
- HttpClient学习笔记三--HttpClient对HTTP方法的支持
- Harry Potter
- 再再上传一个图片
- tiaoxinma
- C# 文件操作(上传 下载 删除 文件列表...)
- afxsock.h和winsock2.h运行时产生冲突如何解决
- ASP.NET中常用功能代码总结(6)——XML文件操作篇
- 转-- 基于WEB应用开发的java程序员必备工具