| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 721 人关注过本帖
标题:数据类型转化之间的优化
只看楼主 加入收藏
gxac
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-1-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
数据类型转化之间的优化
   俺是个新手,请教下高手们关于数据结构方面的问题?
   在C#中,假如一个string变量要转化为int类型
    如下:
         string a=this.txtage.text;  界面经过正则验证为整型字符
         1:   int b=int.Parse(b);
         2:   int b= Convert.ToInt32(a);
         3:  int.TryParse(a,out b);

         求其转化机制和性能优化方面,求详解。。。还有没有其他的转化方法啊?
搜索更多相关主题的帖子: 类型 数据 
2010-04-24 17:40
misswang
Rank: 8Rank: 8
来 自:湖北荆州
等 级:贵宾
威 望:15
帖 子:265
专家分:720
注 册:2010-3-11
收藏
得分:5 
第一要看类型方面能不能转,第二要看你转什么类型
我个人比较喜欢用第二种转换
还有int b=(int)a;

misswp2010@
wangping103@
2010-04-24 21:52
visolleon
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:182
注 册:2007-1-16
收藏
得分:5 
int.Parse性能最好
Convert.ToInt32函数最终里面还是用到了int.Parse
int.TryParse,看了名字你也知道就是在int.Parse外套上try了

如果你喜欢写正则的话,可以自己写正则,再int.Parse!
最简单的方法就是int.TryParse了

2010-04-25 18:52
visolleon
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:182
注 册:2007-1-16
收藏
得分:0 
以下是引用misswang在2010-4-24 21:52:11的发言:

第一要看类型方面能不能转,第二要看你转什么类型
我个人比较喜欢用第二种转换
还有int b=(int)a;

最差的转化!!!

2010-04-25 18:54
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
收藏
得分:5 
数据类型之间的转换方法包括自动转换强制转换

它们之间的区别如下:
自动转换
自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成
自动转换遵循以下规则:
1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4.char型和short型参与运算时,必须先转换成int型。
5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

强制类型转换
强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型在使用。
强制转换时应注意以下问题:
1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。
2.无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
2010-04-26 09:34
快速回复:数据类型转化之间的优化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016116 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved