转 http://zhidao.baidu.com/question/79730235.html
Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理方法:
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Parse(Request.QueryString["page"]),但是如果page这个参数在url中不存在,那么前者将返回0,0可能是一个有效的值,所以你不知道url中原来根本就没有这个参数而继续进行下一下的处理,这就可能产生意想不到的效果,而用后一种办法的话没有page这个参数会抛出异常,我们可以捕获异常然后再做相应的处理,比如提示用户缺少参数,而不是把参数值当做0来处理。
(2)还有一点区别就是
a. Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
b. int.Parse("4.5")
直接报错:"输入字符串的格式不正确".
c. int(4.6) = 4
Int转化其他数值类型为Int时没有四舍五入,强制转换
int.Parse是转换String为int
Convert.ToInt32是转换继承自Object的对象为int的.
你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32.
个人总结:
(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.
(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).
分享到:
相关推荐
在C#编程语言中,将不同的数据类型转换为整型(int)时,有四种主要的方法:`(int)` 强制类型转换、`int.Parse()`、`int.TryParse()` 和 `Convert.ToInt32()`。每种方法都有其特定的用法和处理异常的方式,下面将...
1. `int_least8_t`, `uint_least8_t`, `int_least16_t`, `uint_least16_t`, `int_least32_t`, `uint_least32_t`, `int_least64_t`, `uint_least64_t`: 这些类型保证至少有相应的位宽,但可能更宽,以满足平台的需求...
`stdint.h` 是一个在 C 语言编程中非常重要的头文件,它定义了一组精确宽度的整数类型,使得程序员可以跨平台地处理不同大小的整数,保证了数据类型的位宽是固定的。这个头文件在不同的开发环境和编译器中可能存在...
### Int与ToInt之间的转换效率问题 #### 1. 整数类型介绍 在大多数编程语言中,整数类型是最基本的数据类型之一,用于表示没有小数部分的数值。例如,在C#中,常用的整数类型包括`int`、`long`、`short`等。`int`...
`stdint.h` 头文件是 C99 标准引入的一个关键组成部分,它为程序员提供了标准化的整数类型,以确保在不同的平台和体系结构上具有可预测的行为和大小。这个头文件的主要目的是解决 C 语言中不同编译器可能对整数类型...
5. **固定宽度整数类型定义**:虽然这部分内容没有在给定的部分内容中出现,但在实际的`stdint.h`头文件中会定义一系列固定宽度的整数类型,如`int8_t`、`uint16_t`等,这些类型在所有支持`stdint.h`的系统上都具有...
`stdint.h` 是一个在C语言编程环境中常用的头文件,主要包含了各种整数类型的定义,这些类型具有固定的字节大小和二进制表示,对于跨平台编程和内存管理非常重要。在C99标准中,`stdint.h` 被正式引入,为程序员提供...
在C#编程语言中,`Convert.ToInt32()` 和 `int.Parse()` 都是用来将不同数据类型转换为整型(int)的方法,但它们之间存在一些关键的区别和应用场景的差异。 首先,`Convert.ToInt32()` 是一个静态方法,定义在 `...
在这个场景中,我们关注的是一个与FFmpeg相关的SDK,特别是针对版本3.2的问题。FFmpeg是一个开源的多媒体处理框架,广泛应用于音视频的编码、解码、转换和流媒体服务。 `stdint.h`和`inttypes.h`是C语言标准库中的...
`stdint.h` 和 `inttypes.h` 是C语言标准库中的两个重要头文件,它们主要提供了固定宽度整型数据类型和相关的格式化输入/输出函数。在编写跨平台或者需要精确控制整数位宽的代码时,这两个头文件非常有用。 `stdint...
`stdint.h` 是 C 语言中的一个标准头文件,它为不同平台提供了固定宽度的整数类型定义。这个头文件在跨平台编程中极其重要,因为它确保了在各种不同的计算机架构上,数据类型的位宽是可预测且一致的。这在处理底层...
可以用来解决VC不包含stdint.h头文件问题,网上下载的很多工程项目经常使用的两个头文件inttypes.h stdint.h,将头文件放到(以VS2008为例):C:\Program Files\Microsoft Visual Studio 9.0\VC\include(装在C盘时...
在C语言编程中,`stdint.h` 和 `inttypes.h` 是两个非常重要的头文件,它们在跨平台的开发中起到关键作用。这两个头文件在C99标准中被引入,目的是为了提供一种标准化的方式来定义整数类型,使得在不同架构和操作...
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的。 解决办法:下载文件之后将文件移动到...
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory 【错误】fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory 【原因】stdint.h是c99标准的头文件,vc不...
### STM32头文件stdint.h解析 在深入探讨`stdint.h`头文件之前,我们先简单了解一下该文件的作用。`stdint.h`是一个标准C库头文件,它定义了一系列固定宽度的整数类型,并且提供了最小宽度和最快的整数类型的定义。...
在C和C++编程中,`stdint.h`和`inttypes.h`是两个非常重要的头文件,它们提供了标准整数类型的定义,使得跨平台开发时能够确保整数类型的大小是可预测的。这两个头文件是C99标准引入的,但并非所有编译器都默认支持...
本文将详细探讨Convert.ToInt32和Int32.Parse这两种常用方法的区别,以及Int32.TryParse的特殊用法,分析它们的性能和适用场景,帮助开发者更好地选择适合的方法。 首先,Convert.ToInt32和Int32.Parse都可以将字符...
vs2008编译提示Cannot open include file: 'stdint.h': No such file or directory,是因为vs2008没有这个文件,下载完放到你vs2008安装目录下的include就行了,我本地默认目录是C:\Program Files (x86)\Microsoft ...