放分,順便問個問題

pshy 2006-12-09 03:09:30
ReportDocument report=new ReportDocument();
ExportOptions exportOpts = new ExportOptions();
exportOpts=report.ExportOptions;
請問這些代碼與下面代碼在性能上有差別嗎?
ReportDocument report=new ReportDocument();
ExportOptions exportOpts = report.ExportOptions;
...全文
250 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
icefeiji 2006-12-18
  • 打赏
  • 举报
回复
我向来是用第二种~
djsuzan 2006-12-18
  • 打赏
  • 举报
回复
学习
Xpengfee 2006-12-18
  • 打赏
  • 举报
回复
没觉得有啥区别
cinray 2006-12-18
  • 打赏
  • 举报
回复
不认为有区别
xyq1986 2006-12-18
  • 打赏
  • 举报
回复
接分先
lxmfll2000 2006-12-18
  • 打赏
  • 举报
回复
学习!不太明白!
pshy 2006-12-18
  • 打赏
  • 举报
回复
這麼少人的,今晚結帖........
pshy 2006-12-16
  • 打赏
  • 举报
回复
謝謝.......
fupingzi83 2006-12-14
  • 打赏
  • 举报
回复
它们在性能上没有差别.
即使是第二个方法也要调用构造函数的,只不过不是显示的调用罢了.
一般建议使用第一种方法.
wdy9927 2006-12-14
  • 打赏
  • 举报
回复
1中多出了一个无用的实例,应该没2好吧,而且也不觉得结构比2清楚。

像前面几位说的,如果构造函数里需要很长时间才能返回,那么多时间全浪费了。
w_lion 2006-12-14
  • 打赏
  • 举报
回复
第一种代码结构更清楚一点,有些公司有专门的这方面要求。第二种代码更简洁
zzy1254 2006-12-14
  • 打赏
  • 举报
回复
学习学习,这个还没见过
colaxu 2006-12-14
  • 打赏
  • 举报
回复
接分.
midymidy 2006-12-14
  • 打赏
  • 举报
回复
up
midymidy 2006-12-14
  • 打赏
  • 举报
回复
有区别,省略了一次内部过程
superxiaomm 2006-12-14
  • 打赏
  • 举报
回复
有,上面一个让费时间和空间,多调用了一次构函,如果在c++里面,代价还要付出一个copy assignment。在c#里面这个就没有了。
nkiang 2006-12-13
  • 打赏
  • 举报
回复
flag
slex 2006-12-13
  • 打赏
  • 举报
回复
对了,上面的代码是用.Net 1.1写的
slex 2006-12-13
  • 打赏
  • 举报
回复
你可以按照实例分析一下:

这里是一段简单的代码:
Exception e0 = new Exception("aa");
一:
Exception e1 = new Exception();
e1 = e0;
二:
Exception e2 = e0;

IL如下:
一:
L_000b: newobj instance void [mscorlib]System.Exception::.ctor(string)
L_0010: stloc.0
L_0011: newobj instance void [mscorlib]System.Exception::.ctor()
L_0016: stloc.1
L_0017: ldloc.0
L_0018: stloc.1

二:
L_000b: newobj instance void [mscorlib]System.Exception::.ctor(string)
L_0010: stloc.0
L_0011: ldloc.0
L_0012: stloc.1

一要比二多执行了一次构造。

但微软推荐的写法是第一种,而且在.Net 2.0种有所改进。
yuzhlhua 2006-12-13
  • 打赏
  • 举报
回复
ddd
加载更多回复(12)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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