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类型就需要使用显式转换,否则会产生编译错误。

2、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。

如果字符串为空,则抛出ArgumentNullException异常;

如果字符串内容不是数字,则抛出FormatException异常;

如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

3、int.TryParse与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。

最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

4、Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;

比较:Convert.ToInt32 参数为 null 时,返回 0; int.Parse 参数为 null 时,抛出异常。Convert.ToInt32 参数为 "" 时,抛出异常; int.Parse 参数为 "" 时,抛出异常。   Convert.ToInt32 可以转换的类型较多; int.Parse 只能转换数字类型的字符串。int.TryParse相比较于以上两种方法则更加安全,不会报错,在某些情况下好用很多!

时间: 2024-10-22 05:31:55

C# int.Parse()与int.TryParse()的相关文章

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)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 <转>

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

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

在计算关于“钱”的各种占比时,我遇到了各种问题. 例如: double a=1.4035; Console.WriteLine($"0.##输出:{a.ToString("0.##")}");   ①Console.WriteLine($"F2输出:{a.ToString("F2")}"); ②Console.WriteLine($"0.00输出:{a.ToString("0.00")}"

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.Parse()、int.TryParse()和Convert.ToInt32()的区别

1:int.Parse(一个参数)        此参数必须满足: 1 只能是字符串: 2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型. 2:int.TryParse(参数a,参数b); 此方法可以看做是int.Parse()方法的升级,即做了一个异常处理,如果出现异常则返回false,并且将输出参数返回0: 注意,参数a, 也必须是字符串或null即可 例如: int b; int.TryParse("54.1",out b); Respons

[软件测试学习]考虑到测试的代码编写/int.parse的非法输入—由一个简单的c#闰年检测程序说起

一个简单的C#的闰年检测程序 1.闰年检测的函数编写 当提起检测平年闰年时候,第一反应写出的代码 1 public static bool isLeapYear(int year){ 2 return ((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)) 3 } 但是这个并不易于测试和出现错后的修改,更改代码如下 1 public static bool isLeapYear(int year){ 2 bool check = ne

关于int.Parse()的异常

一.int.Parse(string 变量名) 该方式是将数字内容的字符串转换为int类型 1.如果字符串的内容为Null ,则抛出ArgumentNullException异常: 2.如果字符串内容不是数字,则抛出FormatException异常: 3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常. 二.在网上搜索相关内容,Convert.ToInt32().int.Parse().int.TryP

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类型

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 的区别