Convert、Parse、TryParse、(int) 三个函数都是将值转换成整数,但是四者之间各有异同,开发人员可以根据情况选用最合适的。以下解释均经过高人验证,希望对大家有所帮助。
1 (int)变量名[强制类型转换]:
该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误。
该方式对于浮点数会做无条件舍去,失去精确度
当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错。
最后切忌的一点,千万不要用来处理char类型到int类型的转换,否则传回的的值是ASCII代码,而并不是你想要的值。
2 int.Parse(string类型变量名)
该方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。
使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内。
3 int.TryParse(string s, out int result)
该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换失败,输出值为 0;如果转换成功,则输出相应的值。
4 Convert.ToInt32
该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。 该方式对于浮点数会做四舍五入。
该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。
相关推荐
C#中int、Convert、Parse、TryParse的区别对比,非常不错的收藏的信息。C#中int、Convert、Parse、TryParse的区别对比,非常不错的收藏的信息。
Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int....
主要介绍了c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别,需要的朋友可以参考下
Convert是一个类,继承自system.Object;int是值类型 Convert.ToInt32()内部就是调用了int.Parse()方法;... 您可能感兴趣的文章:C#中Html.RenderPartial与Html.RenderAction的区别分析c#中(int)、int.Parse()、
2个方法都可以把string转换为int,那么他们有什么区别?什么时候该用什么?性能如何。其实在2.0里还有Int32.TryParse也实现了同样的效果。
为初学者提供的资源 ,建议大家看看 using System; class text { static void PrintArr(int ArrLength) { int [] arr=new int [ArrLength];... i = Int32.Parse(Console.ReadLine()); PrintArr(i); } } }
int a1 = int.Parse(s); int a2; int.TryParse(s, out a2); int a3 = Convert.ToInt32(s); 总结: 1、可以使用Convert对int,string进行来回转化,并且可以指定转化的进制; 2、转化为string,可以使用ToString...
C#数据类型与变量,设计显式转换和Convert类转换的程序处理
c# .net 编程常用函数以及方法集:1、DateTime 数字型2、Int32.Parse(变量) Int32.Parse("常量") ……
语法结构: 1. Cast 语法结构:CAST ( expression AS data_type [ ( length ) ] ) 2. Convert 语法结构:CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 3.... Convert 和 Cast 的区别 C
如果输入的是 0xaa 这时转换 int 不能使用 Parse 不然会出现异常 System.FormatException 如果需要转换十六进制就需要使用 Convert 才可以转换 Convert.ToInt32(0xaa, 16) 使用这个方法才可以转换。实际使用这个...
与Int32.Parse的区别 3. Subst命令的使用 4.Button控件的onclick、oncommand、commandname、CommandArgument的区别 . . . Ajax(Asynchronous JavaScript + XML)的定义 使用模型窗口时,重复打开画面的解决方法 ...
主要介绍了python命令行解析之parse_known_args()函数和parse_args()使用介绍,需要的朋友可以参考下
sing System; using System.Collections.Generic; using System.ComponentModel; using System.Data;... ServerInfo = new IPEndPoint(IPAddress.Parse("192.168.1.102"), Convert.ToInt32("6600"));
主要介绍了浅谈JSON中stringify 函数、toJosn函数和parse函数,需要的朋友可以参考下