也就是说第一种在C#中可以用,与.Net类库没有关系。
第二种可以在.Net下的任何语言中用,比如C#,VB,都适用,但是需要.Net类库的支持。 作者: 神马王刚 时间: 2012-10-6 12:34
前者类似于里氏转换,是同类型之间的转换,而后者是不同类型的转换,直观的说是转变,从一个类型变为另一个类型,两者显然不同
来自:黑马程序员训练营论坛 Windows Phone 7 客户端作者: 和志强 时间: 2012-10-6 20:03
int a = (int)b;
int a = convert.toint32(b);
前者是类型转换,后者是内容转换(Convert不再是内存级别的转换,而是考虑数据意义的转换。可以把姓名convert成人。convert是一个加工、改造的过程)
你不能把一个 string 强制转换成 int,隐式转换就更加不可能,例:
string text = "12306";
int a = (int)text;
然而上面的代码中 text 实际上储存的是一个数值,我们希望把这个数值提取出来并以 int 的形式储存起来以便日后的运算使用,这时候就是内容转换上场的时候了
string text = "12306";
int a = Convert.ToInt32(text); 作者: 管海鹏 时间: 2012-10-6 21:26
楼上说的已经十分的清楚了。呵呵{:soso_e129:}顶一个作者: 邓艳秋 时间: 2012-10-6 22:10
ing a = (int)b,很明显这个b值只能是double类型的才会用到强式转换。但用户输入的一般都是字符串类型的,这个强转已经满足不了要求了,所以就出现了可以把string类型转换成int类型
int a = convert.toint32(b),这里的b值可以是字符串或字符类型的,应用要广泛很多。