建议2:使用默认转型方法

在大部分情况下,当需要对FCL(Framework Class Library)提供的类型进行转换时,都应该使用FCL提供的转型方法。

  • 使用类型的转换运算符。

即使用类型内部的一个方法(函数),转换运算符分为两类:隐式转化和显示转换(强制转换)。基元类型(编译器直接支持的数据类型,直接映射到FCL中的类型)普遍都提供了转换运算符。

  • 使用内置的Parse、TryPase,或者如ToString、ToDouble和ToDateTime等方法。
  • 使用帮助类提供的方法。

可以使用如System.Convert类、System.BitConverter类来进行类型的转换。

  • 使用CLR支持的转型。

CLR支持的转型,即向上转型和向下转型,实际上就是基类和子类之间的相互转换,子类转基类可以隐式转换,基类转子类必须是显示转换。

时间: 2024-10-11 15:35:11

建议2:使用默认转型方法的相关文章

编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]

前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1.正确操作字符串 字符串应该是所有编程语言中使用最频繁的一种基础数据类型.如果使用不慎,我们就会为一次字符串的操作所带来的额外性能开销而付出代价.本条建议将从两个方面来探讨如何规避这类性能开销: 1.确保尽量少的装箱 2.避免分配额外的内存空间 先来介绍第一个方面,请看下面的两行代码: String

编写高质量代码改善C#程序的157个建议——建议2: 使用默认转型方法

建议2: 使用默认转型方法 除了字符串操作外,程序员普遍会遇到的第二个问题是:如何正确地对类型实现转型.在上一个建议中,从int转型为string,我们使用了类型int的ToString方法.在大部分情况下,当需要对FCL提供的类型进行转型时,都应该使用FCL提供的转型方法. 这些转型方法包括: 使用类型的转换运算符. 使用类型内置的Parse.TryParse,或者如ToString.ToDouble和ToDateTime等方法. 使用帮助类提供的方法. 使用CLR支持的转型. 下面分别对这些

model中设置默认值时 ,使用 lambda 与否的差别以及datetime的默认值方法

'date': '2013-01-01'  #固定值 'date': time.strftime('%Y-%m-%d')  #启动时候的值 'date': lambda *a: time.strftime('%Y-%m-%d')  #当前日期   6.1后,官方建议date/datetime的默认值的写法是(能解决时区问题): 'birthdate': fields.date.context_today, 'create_at': fields.datetime.now, model中设置默认值

JS 省市区级联 修改地址操作时的默认选中方法

省市区级联JS控件 下载地址http://files.cnblogs.com/bin-pureLife/%E5%B0%8F%E5%9B%BE%E6%A0%87.zip function update(province,city,county){ $("#s_province option").each(function(){ if($(this).val()==province){ $(this).attr('selected',true) change(1); } }); $(&qu

编写高质量代码改善C#程序的157个建议——建议101:使用扩展方法,向现有类型“添加”方法

建议101:使用扩展方法,向现有类型“添加”方法 考虑如何让一个sealed类型具备新的行为.以往我们会创建一个包装器类,然后为其添加方法,而这看上去一点儿也不优雅.我们也许会考虑修改设计,直接修改sealed类型,然后为其发布一个新的版本,但这依赖于你拥有全部的源码.更多的时候,我们会采取针对第三方公司提供的API进行编程的方式.对于我们来说,FCL是一组第三方公司(微软)提供给我们的最好的API. 包装类的编码形式如下: class Program { static void Main(st

访问域名时直接访问默认的工程,执行默认的方法—备忘录《二》

众所周知,访问域名或者某个IP时,如果不配置默认工程,是只显示tomcat界面.下面讲解直接访问域名或IP时,如何访问到默认工程 1.开发环境:springMVC+tomcat 2.下面正式开始配置,主要分为以下几个步骤 1)配置tomcat默认工程,配置tomcat/conf/server.xml文件(记得把默认端口号改成80,linux中可能会设置失败,可执行命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to

迈向大数据架构师 - 架构师转型方法与架构设计理论

迈向大数据架构师 - 架构师转型方法与架构设计理论课程学习地址:http://www.xuetuwuyou.com/course/233课程出自学途无忧网:http://www.xuetuwuyou.com课程摘自<大数据系统架构分析师成长之路>:http://www.xuetuwuyou.com/course/200 1.课程目标通过本课程的学习,让学员了解到什么是系统架构师,什么大数据系统架构师,两者的区别与联系,程序员与架构师的不同,程序员如何向架构师转型,一个架构师工作日常及必须修炼的

hibernate 映射文件配置默认值方法

问题描述:     hibernate技术中对应数据库中每一个表,都会有一个映射文件与之对应,此文件描述数据库表中每一个字段的类型.长度.是否可空等属性.在进行表中记录的插入(更新)操作时,hibernate会根据映射文件中的描述自动生成一个包含所有字段的插入(更新)sql语句,此时如果映射文件中某字段的值为空(NULL)而其在数据库表中定义的默认值不为空,hibernate会将空值插入到表中,而不会使用此字段的默认值. 解决方法:     在hibernate映射文件对数据库表的描述中,加入d

引用类型都继承了Object具有的一些默认的方法

默认情况下,数据库配置使用SQLite,如果你数据库的新手,或者你仅仅是对Django感兴趣,这是最好的选择.SQLite包含在Python,所以不需要安装任何东西.当你开始你的第一个真正的项目的时候,你可能想 要使用更强大的数据库如PostgreSQL,去避免切换数据库的痛苦. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式. 可以先读书,在学校学习到更多东西,此处这个