七月网

convert.toint32

七月网2500

两个都是转换成整型的,只是它们的长度不同。int为16位的,而下面的那个是32位的

convert.toint32

首先,我要指出的是,在 C#中,int其实就是 System.Int32,即都是32位的。

其次,(int)和 Convert.ToInt32是两个不同的概念,前者是类型转换,而后者则是内容转换,它们并不总是等效的。我们很清楚 C#提供类型检查,你不能把一个 string强制转换成 int,隐式转换就更加不可能,例如如下的代码就行不通了:

string text="1412";

int id=(int)text;

然而,我们很清楚上面的代码中 text实际上储存的是一个数值,我们希望把这个数值提取出来并以 int的形式储存起来以便日后的运算使用,那么你就需要进行内容转换了。内容转换也叫内容解释,我们把上面的代码稍稍修改就可以达到目的了:

string text="1412";

int id= Convert.ToInt32(text);

除此之外,你还可以使用 Int32.Parse和 Int32.TryParse来进行解释。

另外,你发现 Convert.ToInt32有很多重载版本,例如 Convert.ToInt32(double value);,当我们用这个版本来把一个 double转换成 int时,ToInt32会检查被转换的数值是否能够用 int表示,即是否会发生“越界”,如果是就会抛出 OverflowException,否则就会为你转换,但使用(int)进行强制转换,如果被转换的数值大于 Int32.MaxValue,那么你将得到一个错误的结果,例如下面的代码:

好了,关于convert.toint32和Convert.ToInt32()与(int)强转有什么不同(转)的问题到这里结束啦,希望可以解决您的问题哈!