asp.net中如何转换数据类型效率最高?

书晨听风 2010-05-11 02:58:10
在.net中如何转换数据类型效率更高呢?
像以下的转换那个效率最高啊?
我知道Convert.ToInt32效率肯定会有一些那么强制转换和int.Parse呢?还有没有更好的转换方式啊?

user.Id=(int)reader["Id"];
user.Id=int.Parse(reader["Id"].ToString());
user.Id = Convert.ToInt32(reader["Id"]);
...全文
135 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2010-05-11
  • 打赏
  • 举报
回复
如果数据本身是int类型,当然直接拆箱了
转为字符串再Parse那不是多此一举了吗?
书晨听风 2010-05-11
  • 打赏
  • 举报
回复
谢谢各给大大给予指导~谢谢大家,我已经得到想要的答案了,谢谢1楼3楼5楼和6楼的指导,谢谢啦~呵呵..
至于4楼的哥哥也谢谢你啦,但是不懂就要问吗~!因为不明白才想要弄明白,跟基础何干~!
liuhelong 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cuike519 的回复:]
user.Id=(int)reader["Id"];//这个最快,但是不安全
user.Id=int.Parse(reader["Id"].ToString());// 这个如果转换失败会有异常
user.Id = Convert.ToInt32(reader["Id"]);//这个和上面的实现是一样的
int.TryParse可以将转换后的int作为out传出来,同时返回一个bool来判断……
[/Quote]

UP~
cuike519 2010-05-11
  • 打赏
  • 举报
回复
user.Id=(int)reader["Id"];//这个最快,但是不安全
user.Id=int.Parse(reader["Id"].ToString());// 这个如果转换失败会有异常
user.Id = Convert.ToInt32(reader["Id"]);//这个和上面的实现是一样的
int.TryParse可以将转换后的int作为out传出来,同时返回一个bool来判断是否转换成功,实现方法和第二种是一样的。
polarissky 2010-05-11
  • 打赏
  • 举报
回复
1,Convert.ToInt32(reader["Id"]); 效率是最低的
2,Int32.Parse 跟Int32.TryParse的区别是:
TryParse 当此方法返回时,如果转换成功,则包含与 s 所包含的数字等效的 32 位有符号整数值;如果转换失败,则包含零。如果 s 参数为 空引用,格式不正确,或者表示的数字小于 MinValue 或大于 MaxValue,则转换会失败。该参数未经初始化即被传递。不会抛出异常
Parse 转换失败会抛出异常
ArgumentNullException s 为 空引用。
FormatException s 不是仅由一个可选负号后跟一系列从 0 到 9 的数字组成的。
OverflowException s 表示小于 MinValue 或大于 MaxValue 的数字。





vrhero 2010-05-11
  • 打赏
  • 举报
回复
这三种方法适用范围都不同,有啥好比较的...

先打好基础吧...
Peter200694013 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 l9861226 的回复:]
引用 1 楼 nosuchtracter 的回复:
C# code

int id=0;
int.TryParse(reader["Id"].ToString(),out id);

能问下这种转换方式的效率与其他的对比有什么区别吗?我以前从来没有用过这种转换de
[/Quote]
TryParse-〉如果字符串可以转为int,则将结果赋给id,并返回true;否则返回false,id值为0
书晨听风 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nosuchtracter 的回复:]
C# code

int id=0;
int.TryParse(reader["Id"].ToString(),out id);
[/Quote]
能问下这种转换方式的效率与其他的对比有什么区别吗?我以前从来没有用过这种转换de
nosuchtracter 2010-05-11
  • 打赏
  • 举报
回复

int id=0;
int.TryParse(reader["Id"].ToString(),out id);

62,254

社区成员

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

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

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

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