请高手解释一下(int)和Convert.ToInt32()转换类型的区别和使用场合。

gj0001 2003-08-29 10:38:51
我晕了,今天下午老是为它们俩烦心!
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayine 2003-09-01
  • 打赏
  • 举报
回复
来晚了,我只说一点使用(int)是显式转换,一般多用于从数据库中取出来的值的转换
如:
(int)dr["CountID"]
而你用(int)dr["CountID"].ToString()这一句是会报错的.
原因是不能显示的转换

而Convert.ToInt32()是强制转换上一句中不能转换的用
Convert.ToInt32(dr["CountID"].ToString())是可以用的!明白了吗!!!
呵呵,这么多人帮你,学不会都难!!!
uno 2003-09-01
  • 打赏
  • 举报
回复
(int)作用仅仅是在整形、浮点型之间相互转换,进行其他类型转换为非法
Convert是真正的转换工具
lwgj 2003-09-01
  • 打赏
  • 举报
回复
学习
BenZ004 2003-08-30
  • 打赏
  • 举报
回复
呵,仔细看了看,快乐王子和小陈说的已经很详细了
有解释的很清楚。
我唯一补充说一下的就是:
我们一般在转换DataRow[i]或者DataColumn[j]的数据类型时,使用(int).
也就是int a = (int)DataRow[i]或int b = (int)DataColumn[j]
因为那里面一般是我们从数据库里面调出来的数据,用(int)的话不用考虑位数的问题。
其他的大都用Convert.To。。。
chenhigh 2003-08-30
  • 打赏
  • 举报
回复
使用场合:
1。只要遇到编译错误说:“无法将类型XX转换为类型XXX”
那你就可以考虑用Convert.Toxxx

2。(int)常用的场合就是我上面提到的两种:
int b = (int)'c'; , int b = (int)obj
chenhigh 2003-08-30
  • 打赏
  • 举报
回复
to sjzwinfor()
// int c=(int)("11");//字符型只能用Convert.ToInt32来转换成整型
// Console.WriteLine(c);

实际上,Convert是一个类,这个类的主要功能就是将一个基本数据类型转换为另一个基本数据类型

正如 panyee(快乐王子)所说,(int)只能把数值型的显式转换。
例如:int b = (int)'c'; , int b = (int)obj;这些语句都是正确的,
变量obj为object类,因为在C#里面,object也是一种基本数据类型。

还有,int b = (int)DataRow[i]也是正确的,因为DataRow[i]也是object类型
neodotnet 2003-08-29
  • 打赏
  • 举报
回复
Convert.ToInt32()
转换的类型比较多.
而int只能转换那些数值类型的
sjzwinfor 2003-08-29
  • 打赏
  • 举报
回复
比较一下这两个转换,你就会明白了
class aa
{
public static void Main()
{
int b=Convert.ToInt32("11");
Console.WriteLine(b);
// int c=(int)("11");
// Console.WriteLine(c);
}

}
panyee 2003-08-29
  • 打赏
  • 举报
回复
Contert.ToInt32(参数) 它可转化的参数有很多种, 如long, string, datetime,,,,等等
而且可以在2, 8, 10, 16进制间的转化


而(int)只能把数值型的显式转换

webdiyer 2003-08-29
  • 打赏
  • 举报
回复
把一个数据类型为int j=(int)i这样的方法转换称为显式转换,秋Convert.ToInt32()这样的方法是强制转换。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧