Parse , Covert.To,TryParse类型转换
来源:互联网 发布:excel一半的数据没了 编辑:程序博客网 时间:2024/06/07 09:01
parse 和Covert.To 都能把有效的数据转化成相应的格式,但在实际情况中什么时候用parse 和什么时候用Convert.To 这个一直都很模糊。
下面是 Int32.Parse(string) 和Convert.ToInt32 反射出来的代码
Int32.Parse(string)
{
return int.Parse(s, NumberStyles.Integer, null);
}
{
NumberFormatInfo info1 = NumberFormatInfo.GetInstance(provider);
NumberFormatInfo.ValidateParseStyle(style);
return Number.ParseInt32(s, style, info1);
}
Convert.ToInt32
{
if (value == null)
{
return 0;
}
return int.Parse(value);
}
从代码中能看出的一个最明显的差别:
1. Convert.ToInt32 () 方法是调用了 int.Parse()方法
2. Convert.ToInt32 在string 为null的时候不会抛 System.ArgumentNullException 类型的异常。
从安全上面来说, Convert.ToInt32 比int.Parse上面更安全点,但是从执行的速度上面,parse 要比Convert.ToInt32 要快一些。但是在出现System.FormateException,System.OverflowException 异常的时候,Convert.ToInt32 和int.Parse 都没有什么方法避免,出现异常之后, 速度上面一样会降下来。我们这个时候需要捕获异常,然后在处理。
还好.net 2.0之后, 出来了一个TryParse()的方法,
public static bool TryParse(string s, out int result);
如果转化成功, 返回实际的结果,如果类型转化失败, 返回0;这样在类型的转换过程中,就不会出现异常,这个比Parse和Convert都要好,而且在执行的速度上面要比Convert要快。
- Parse , Covert.To,TryParse类型转换
- 类型转换:int.Parse、int.TryParse
- Int32.TryParse,int.Parse,Convert.ToInt32类型转换比较
- C# 类型转换 (TryParse)
- c#类型转换(Convert.ToInt32与Int32.Parse,Int32.TryParse的区别和性能)
- c#中(int)、int.Parse()、int.TryParse、Convert.To区别
- c#中(int)、int.Parse()、int.TryParse、Convert.To区别
- (int)/int.Parse()/int.TryParse/Convert.ToInt32()四种转换
- Parse,TryParse,Convert 比较
- parse,tryparse区别
- parse和Tryparse区别
- TryParse比Parse好
- parse,tryparse区别
- Convert、Parse、TryParse、(int)
- parse,tryparse区别
- Parsetryparse parse,tryparse区别
- C# TryParse 和 Parse
- parse,tryparse区别
- Unix系列shell程序编写2
- TMAC------NBA的西西弗斯
- 获取GridView中的某列值
- 新手如何学习asp.net
- 试用EF开发WEB应用程序(15): EF Servlet, or EFSP?
- Parse , Covert.To,TryParse类型转换
- Unix系列shell程序编写3
- Notes of studying Oracle 11g database (1)
- 理解HTTP session原理及应用
- trie 树
- 跳转到上一次浏览的页面
- asp.net最常用的三十三种编程代码(4/4)
- ASP.NET遇到问题---Datareader访问数据库
- 5.3