为什么现在改用int.TryParse了

以前一直用 int.Parse(x)或者 Convert.ToInt64(x),后来项目中发现如果x变量的值为null是,就报错了,哪怕我这样写 int.Parse(x=x??"0")   意思是:"如果x为空,就给x赋值‘0’ 字符串,然后转化为 int",还是没逃过报错的危险;然后就琢磨了下int无意中点出 TryParse(),它的出现如天使般拯救了我,格式: int.TryParse(x,out y) //x是要转化的字符串,y是一个int 型的变量;

通常我这样写:

int y=0;

int Num;

if(int .TryParse("9",out y))

{

      Num=y;//如果"9"不能转化为int类型,if里的表达式为false,如果转化成功就赋给变量y;  然后我们就可以无限次使用y帮我们取值啦,(*^__^*) 嘻嘻……  int.TryParse的最大好处是再也不用担心类型转化时报错了;

}

//除了int.TryParse(),相信大家已经想到了 ,同理,还有 decimal.TryParse() 等等;
时间: 2024-10-02 22:34:54

为什么现在改用int.TryParse了的相关文章

C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()

一.(int)变量名[强制类型转换]:  该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误. 该方式对于浮点数会做无条件舍去,失去精确度.当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错.最后切忌的一点,千万不要用来处理char类型

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值(NULL).数字类型(包含float,double,int,long等)和字符串(

C# int.Parse()与int.TryParse()

int i = -1;bool b = int.TryParse(null, out i);执行完毕后,b等于false,i等于0,而不是等于-1,切记. int i = -1;bool b = int.TryParse("123", out i); 执行完毕后,b等于true,i等于123: 1.(int)是一种类型转换:当我们觟nt类型到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译错

L#中 int.TryParse 有问题

今天发现了一个 L# 的异常..因此记录一下 1 List<string> strList = new List<string>(); 2 for(int i=0; i<4; ++i) 3 { 4 for(int j=0; j<4; ++j) 5 { 6 strList.Add(string.Format("{0}{1}", i, j)); 7 } 8 } 9 10 int row = 0, col = 0; 11 for(int i=0; i<

int.Parse()与int.TryParse()

int i = -1;bool b = int.TryParse(null, out i);执行完毕后,b等于false,i等于0,而不是等于-1,切记. int i = -1;bool b = int.TryParse("123", out i); 执行完毕后,b等于true,i等于123: 1.(int)是一种类型转换:当我们觟nt类型到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译错

int.TryParse &amp; Convert.ToInt32

经过测试,这两个的性能几乎无差别: 除非是要转换的对象为null,Convert.ToInt32 才会快很多: 所以,还是封装个 int.TryParse 好用点,不用处理空字符串等异常情况:

C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别

int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即浮点类型全部会返回0 (int)不会进行四舍五入,只取整数部分,小数点部分完全舍弃 using  System;public   class  DoubleToInt{     public   static   void  Main()    {        Test_DoubleToInt(

int.TryParse 与 int.Parse 的区别

int.TryParse 与 int.Parse 的区别是,int.TryParse不会产生异常,转换成功返回 true,转换失败返回 false.最后一个参数为输出值,如果转换失败,输出值为 0. 用法 int a=0; bool Result = int.TryParse("100",a) int.TryParse 与 int.Parse 的区别

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 &lt;转&gt;

作者:Statmoon 出处:http://leolis.cnblogs.com/ 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值