parse和Tryparse区别

 

Convert.ToInt32

int.Parse(Int32.Parse)

int.TryParse

(int)

四者都可以解释为将类型转换为 int,那它们的区别是什么呢?

 

Convert.ToInt32 与 int.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;

时间: 2025-01-07 09:54:14

parse和Tryparse区别的相关文章

link中convert.toint32 int.parse int.tryparse的区别和利弊

问题描述 link中convert.toint32 int.parse int.tryparse的区别和利弊 link中convert.toint32 int.parse int.tryparse的区别和利弊各式什么? 解决方案 convert.toint32在LINQ中是桩函数,桩函数会被linq provider识别并且转换成sql,而parse/tryparse不是.所以不要使用后者. 解决方案二: 是 .Net/LINK 吧. tryparse 返回成功/失败不抛出错误,用在明确要检查能

link中convert.toint32和int.parse有什么区别?用哪个比较好?谢谢

问题描述 link中convert.toint32和int.parse有什么区别?用哪个比较好?谢谢 link中convert.toint32和int.parse有什么区别?用哪个比较好?谢谢 解决方案 Convert.ToInt32内部调用了int.Parse,参考http://referencesource.microsoft.com/mscorlib/a.html#069d595792a157df

Convert、Parse、TryParse、(int) 的区别

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

Int32.Parse()、Convert.toInt32()、Int32.TryParse()

int32.parse().convert.toint32().int32.tryparse()     int 关键字表示一种整型,是32位的,它的 .net framework 类型为 system.int32. int32.tryparse()不抛异常,会返回true或false来说明解析是否成功,如果解析错误,调用方将会得到0值.     (int)表示使用显式强制转换,是一种类型转换.当我们从 int 类型到 long.float.double 或decimal 类型,可以使用隐式转换

编写高质量代码改善C#程序的157个建议[4-9]

原文:编写高质量代码改善C#程序的157个建议[4-9] 前言 本文首先亦同步到http://www.cnblogs.com/aehyok/p/3624579.html.本文主要来学习记录一下内容: 建议4.TryParse比Parse好 建议5.使用int?来确保值类型也可以为null 建议6.区别readonly和const的使用方法 建议7.将0值设为枚举的默认值 建议8.避免给枚举类型的元素提供显式的值 建议9.习惯重载运算符 建议4.TryParse比Parse好 如果注意观察,除st

编写高质量代码改善C#程序的157个建议[1-3]

原文:编写高质量代码改善C#程序的157个建议[1-3] 前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1.正确操作字符串 字符串应该是所有编程语言中使用最频繁的一种基础数据类型.如果使用不慎,我们就会为一次字符串的操作所带来的额外性能开销而付出代价.本条建议将从两个方面来探讨如何规避这类性能开销: 1.确保尽量少的装箱 2.避免分配额外的内存空间

关于枚举

一提起枚举,我想各位是熟悉得无法形容的了.枚举有啥用?枚举就是用来对一系列可选值进行规范 . 举个例子说, 定义一个关于厕所的枚举,通常我们见到的厕所有男厕,女厕,或者狗 厕.是吧,估计你走在大街上很少看到有龟厕的吧.因此,为了让使用我们代码的人能有一个规范供他 参考,于是我们会把男厕.女厕和狗厕三种可选项定义在一个枚举类型"厕所"中. 再比如,我 们在开发一个下象棋的应用程序时,在开始时对阵双方要选一方模子,而我们有效的选项是红方或黑方 (有的是红方和绿方),为了防止有的玩家选到了白

C#的基础学习

这是一篇C#的基础学习文章,高手就可以跳过了, 1.基本类型: 基本与C\C++相同 decimal decimal是一个128位的高精度浮点数. bool 注意的是bool类型只有true和faulse两个可取值,在C#中,不能将bool值强制转换为整形值.如,将true转换为1或将1,0转换为bool值都是不行的. Parse和TryParse转换字符串 基本的数字类型包含Parse和TryParse的方法,可将数字字符串类型转换为指定的数字类型,例如 int iParse = Int32.

如何把string解析为int?

Q:如何把string解析为int? A:简单的方法有三种: string source = "1412"; int result = 0; // 使用Convert.ToInt32(string value); result = Convert.ToInt32(source); // 使用Int32.Parse(string value); result = Int32.Parse(source); // 使用Int32.TryParse(string s, out int resu