建议2 使用默认转型方法
2017-05-02 22:39
344 查看
对于如何正确的对类型实现转型也是程序员必须掌握的。对于FCL(Framework Class Library,即Framework类库。)提供的类型进行转型时,都应该使用FCL提供的转型方法。
包括:
使用类型的转型运算符。
使用类型的转型运算符,其实就是使用类型内部的一个方法。转换运算符分为两类:隐式转换和显示转换(强制转换)。基元类型普遍都提供了转换运算符,如:
所谓基元类型,是指编译器直接支持的数据类型,包括sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、bool、decimal、object、string。
用户自定义的类型也可以通过重载转换运算符的方式提供这一类转换,但是不建议这么做,破坏面向对象原则。
使用类型内置的Parse、TryParse,或者ToString、ToDouble等方法。
在FCL中,如果某个类经常需要进行转型操作,类型自身则会带有一些转型方法,比如从string转型为int,int本身就提供了Parse和TryParse方法。
使用帮助类提供的方法。
可以使用如System.Convert类、System.BitConvert类来进行类型转换。
Convert类提供了将一个基元类型转换为其他基元类型的方法,如ToBoolean、ToChar等。
BitConvert类提供了基元类型与字节数组之间相互转换的方法。
使用CLR支持的类型。
CLR支持的类型,其实就是基类和子类之间的相互转换。
包括:
使用类型的转型运算符。
使用类型的转型运算符,其实就是使用类型内部的一个方法。转换运算符分为两类:隐式转换和显示转换(强制转换)。基元类型普遍都提供了转换运算符,如:
int i=0; float j=0; j=i; //隐式转换 i=(int)j; //显示转换
所谓基元类型,是指编译器直接支持的数据类型,包括sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、bool、decimal、object、string。
用户自定义的类型也可以通过重载转换运算符的方式提供这一类转换,但是不建议这么做,破坏面向对象原则。
使用类型内置的Parse、TryParse,或者ToString、ToDouble等方法。
在FCL中,如果某个类经常需要进行转型操作,类型自身则会带有一些转型方法,比如从string转型为int,int本身就提供了Parse和TryParse方法。
使用帮助类提供的方法。
可以使用如System.Convert类、System.BitConvert类来进行类型转换。
Convert类提供了将一个基元类型转换为其他基元类型的方法,如ToBoolean、ToChar等。
BitConvert类提供了基元类型与字节数组之间相互转换的方法。
使用CLR支持的类型。
CLR支持的类型,其实就是基类和子类之间的相互转换。
// Animal是基类,Dog是子类 Animal animal; Dog dog=new Dog(); animal=dog; //隐式转换 dog=(Animal)animal; //必须存在显示转换
相关文章推荐
- 建议2:使用默认转型方法
- 建议2: 使用默认转型方法
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
- 编写高质量代码改善C#程序的157个建议——建议2: 使用默认转型方法
- Tip2 使用默认转型方法
- 在多声卡的情况下使用修改注册表的方法设置默认声卡
- 默认构造器的介绍 以及 构造器的使用方法
- 基本原则:强烈建议在站点中不要使用window.open方法
- 在AIX上用IBM的JVM,内存溢出时默认地会产生javacore文件(关于cpu的)和heapdump文件(关于内存的)。手动产生堆栈文件的方法是使用kill -3
- 一个子类要调用父类的方法时,默认是使用this还是super?
- 访问共享目录,取消默认使用Guest帐号登录的解决方法
- YC2440开发板wince5.0默认的COM1是做为普通串口使用,让它作为调试串口使用的方法!
- WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法
- DEDECMS 5.6使用默认蓝色模板的方法
- LD SDK LDCControlDll 中 CXMLFile的进一步使用方法,建议以后改进
- 基本原则:强烈建议在站点中不要使用window.open方法
- SQL Server中TEXT/NTEXT字段内容替换方法总结(SQL 2005及以上建议使用VARCHAR(MAX)/NVARCHAR(MAX)代替)
- Oracle 的 索 引 的 创 建 :索引的创建方法,使用场合及建议
- DDM 使用方法及建议