Convert、Parse、TryParse、(int) 区别

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;

(int) 属 cast 转换,只能将其它数字类型转换成 int 类型,它不能转换字符串,比如下例就会失败:

string v = "1";
int n = (int)v;

时间: 2024-10-04 21:01:43

Convert、Parse、TryParse、(int) 区别的相关文章

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")}"

Convert.ToInt32、(int)和int.Parse三者的区别

前者适合将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: int.Parse适合将string类类型转换成int类型,如int.Parse(session["shuzi"].ToString()). (1)这两个方法的最大不同是它们对null值的处理方法:    Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会

Convert.ToInt32()与int.Parse()的区别

转载: http://www.cnblogs.com/linyechengwei/archive/2008/11/10/1330819.html (1)这两个方法的最大不同是它们对null值的处理方法:     Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚 Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数 page的值,

Convert.ToInt32() 和 int.Parse() 的区别

int.Parse是转换String为int Convert.ToInt32是转换继承自Object的对象为int的. 你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32 Convert.ToInt32()与int.Parse()的区别 (1)这两个方法的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常.没搞清楚Convert.T

Convert.ToInt32()与int.Parse()的区别 (转载)

Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 这会在某些情景得到应用,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用 Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Parse(Request.Que

C#:Convert.ToInt32()与int.Parse()的区别 [转]

这两个方法的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果.举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用 Convert.ToInt32(Request.QueryString["page"]) ,或者 int.Pars

Convert.ToInt32()和int.Parse()区别

Convert.ToInt32()和int.Parse()都可以数据转换个int类型,区别在于: 1. Convert.ToInt32()将object类类型转换成int类型,例如:Convert.ToInt(textBox1.Test) int.Parse()将String类型转换成int类型,例如:int.Parse( textBox1.Test.ToString() ) 2. Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常