又升一猩!问个小问题可散技术分!

koukoujiayi 2010-03-27 05:18:29
强制转换有如下两种形式:
1.
object o = "1";
string s = (string)o;

2.
object o = "1";
string s = o as string;

问一下,这两种有无区别?或你更习惯哪一种?
...全文
302 71 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
71 条回复
切换为时间正序
请发表友善的回复…
发表回复
qincailove 2010-03-28
  • 打赏
  • 举报
回复
两种都差不多咯
qincailove 2010-03-28
  • 打赏
  • 举报
回复
习惯第一种
月之点点 2010-03-28
  • 打赏
  • 举报
回复
as


SQL 重命名也用as
sunnj87 2010-03-28
  • 打赏
  • 举报
回复
路过,学习!
SQL77 2010-03-28
  • 打赏
  • 举报
回复
习惯第一种
look_back 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 64 楼 isolu 的回复:]
第二种,安全,就算转不成功也返回null
[/Quote]

顶。。
阿非 2010-03-28
  • 打赏
  • 举报
回复
第二种还可以扩展
solu 2010-03-28
  • 打赏
  • 举报
回复
第二种,安全,就算转不成功也返回null
yufenghua 2010-03-28
  • 打赏
  • 举报
回复
第一种。。。。简单
ws_hgo 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 amandag 的回复:]
我肯定用第二种,但第二种的隐式转换只适用于与引用类型(as 不能用于值类型)

用第二种的理由很简单,如果语句较长,可以少写很多括号

比如 (Repeater1.Items.FindControl("Label1") as Label).Text
比 ((Label)Repeater1.Items.FindControl("Label1")).Text

个人认为优雅些
[/Quote]
UP
dong20lan 2010-03-28
  • 打赏
  • 举报
回复
as
不能转的时候就返回空
Conan君 2010-03-28
  • 打赏
  • 举报
回复
当然是第一种咯~
d60000522 2010-03-28
  • 打赏
  • 举报
回复
学习了,好,我只知道第一种是强制转换
拉斐尔-Raphael 2010-03-28
  • 打赏
  • 举报
回复
...本人习惯用第一种

不过本人在通常情况更习惯用以下两种

1、
object o="1"
string i=o.ToString();
2、
object o="1"
string i=Convert.ToString(o);

请指教
wjn161 2010-03-28
  • 打赏
  • 举报
回复
as
不能转的时候就返回空,相对比较稳定吧
「已注销」 2010-03-27
  • 打赏
  • 举报
回复
帮顶!!!
鸭梨山大帝 2010-03-27
  • 打赏
  • 举报
回复
经常用第一种.

不论如何,在使用之前都是需要做一次判断的.
IS 需要判断类型.
AS 需要判断NULL.
段传涛 2010-03-27
  • 打赏
  • 举报
回复
强制转换有如下两种形式:
1.
object o = "1";
string s = (string)o;
------------------------------
我用第一种 就是习惯而已。
iamfafa 2010-03-27
  • 打赏
  • 举报
回复
当然有区别,as 更好,性能更优
iloveyoubaby 2010-03-27
  • 打赏
  • 举报
回复
学习了。
习惯用第一种,看来要改这个习惯
加载更多回复(51)

62,243

社区成员

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

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

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

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