parse,tryparse区别

Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?

Convert.ToInt32int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:

  • Convert.ToInt32 参数为 null 时,返回 0;
  • int.Parse 参数为 null 时,抛出异常。
  •  
  • Convert.ToInt32 参数为 "" 时,抛出异常;
  • int.Parse 参数为 "" 时,抛出异常。
  •  
  • Convert.ToInt32 可以转换的类型较多;
  • int.Parse 只能转换数字类型的字符串。

int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0。
 

int m; 
if(int.TryParse("2"),out m)
{
...
}
返回true ,运行{}内,并给m赋值为2;

 if(int.TryParse("ddd"),out m)
{
...
}
返回false,不运行if{}内,并给m赋值为0;

使用Parse和TryParse转换数字字符串
基本数字类型包含Parse和TryParse方法,可用于将数字字符串转换为指定的数字类型,例如:
172515322.jpg 
TryParse方法是.NET2.0中引入的,它能提供有条件的解析。这个方法会返回一个布尔值,以指示解析是否成功,从而可以免去添加异常处理代码的麻烦。下面的例子使用了一个Int32类型来演示TryParse的两种形式:
172540140.jpg 
在第二种形式中,第一个参数是要解析的文本字符串,第二个参数是NumberStyles枚举类型,它说明了输入字符串中可能包含的内容,返回值将放在第四个参数中返回。

转载于:https://www.cnblogs.com/legend_sun/archive/2008/12/23/1360533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#的TryParse方法是一种用于将字符串转换为特定类型的方法,它可以避免在转换失败时引发异常。常见的一些TryParse方法包括Enum.TryParse、DateTime.TryParse、Double.TryParse、Decimal.TryParse、Guid.TryParse、TimeSpan.TryParse和int.TryParse等。这些方法可以用于将字符串转换为相应的枚举值、日期时间、浮点数、十进制数、全局唯一标识符、时间间隔和整数等数据类型。 与一些其他的转换方法(如int.Parse)相比,TryParse方法具有更好的容错性。当转换失败时,TryParse方法会返回一个布尔值,指示转换是否成功,并将转换后的值存储在一个输出参数中。这样,我们可以根据返回的布尔值来确定转换是否成功,并且不会引发异常。 另外,Convert.ToInt32和(int)也可以将类型转换为整数,但它们的使用方式略有不同。Convert.ToInt32方法可以将各种类型(如字符串、布尔值、日期时间等)转换为整数,而(int)则是一种显式类型转换的方式。int.Parse和Int32.Parse是将字符串转换为整数的方法,如果转换失败会引发异常,而int.TryParse是将字符串转换为整数的另一种方法,它返回一个布尔值来指示转换是否成功,避免了异常的引发。 综上所述,C#的TryParse方法是一种更安全、更可靠的数据转换方法,可以避免异常的引发,并提供了更好的容错性。在需要将字符串转换为特定类型时,可以使用相应的TryParse方法来进行转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值