关于变量使用的一个小小小纠结问题~~~ 谢谢。

WOWER2010_13 2010-09-27 10:21:49

//方法1:
int i=aa();//aa方法,过程很复杂,最终返回int
int j=bb(1);//bb方法,过程很复杂,int参数,最终返回int
string k=cc(1,2);//cc方法,过程很复杂,两个int参数,最终返回string
string m=dd(1,2,k);//dd方法,过程很复杂,两个int参数1个string参数,最终返回string
response.write(m);//最后输出结果

//方法2:
response.write(dd(aa(),bb(1),cc(1,2)));


大概意思就是这样吧。。。
上面方法1中,定义了四个变量,每个都是只用了一次,不过一步一步分的很清楚。
方法2中,省略了定义变量的步骤,把所有方法都挤在了一起,看起来臃肿不堪。

他们两个相比之下,谁的运行效率高呢?一般推荐哪种写法呢?


顺道问下,是不是定义变量名字越短,运行效率就越高?脚本中呢?

谢谢!
...全文
187 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongjiaoli 2010-09-28
  • 打赏
  • 举报
回复
定义变量名字的长短 和运行的效率是没啥关系的。
JetWindLee 2010-09-28
  • 打赏
  • 举报
回复
差不多吧
misswangjinfeng 2010-09-28
  • 打赏
  • 举报
回复
方法二,相對來說,效率高一些吧。
少定義一些變量,佔用內存就少一些吧。
yunfei5555 2010-09-28
  • 打赏
  • 举报
回复
效率是一样的,只是看系统分配的内存大小
运行的快慢跟名字无关
johndii 2010-09-28
  • 打赏
  • 举报
回复
老是看到C#的人追求效率。。。

现在很多提升效率的细节方法在.net下都意义不大了,又不是嵌入式的东西。

.net就是要快捷方便的开发,把两种情况进行反编译看一下吧。。。
村长_乐 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bclz_vs 的回复:]
效率是一样的,但定义一些临时变量会让你的程序的可读性降低
但临时变量也不是没有用武之地,1.用于解释,2.在多个地方会用到
首先你的情况是这几个临时变量不会在多个地方用到,只是在一个地方用到。
现在只要考虑是否需要用临时变量来解释了,这样考虑,如果你的aa()方法名叫的和dd()中的参数一样的话,你可以考虑不用临时变量,否则可以考虑。关于临时变量的讨论,楼主可以详细看下贝壳的《实现模式》
……
[/Quote]
up+
凤凰涅檠 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
变量要分配空间
执行效果差不多
返回值需要使用,直接返回变量
那么多方法是否设计合理
自己测试stopwatach
[/Quote]

up
边城的刀声 2010-09-28
  • 打赏
  • 举报
回复
有时应该起尽量简洁的名字,例如类名,有时候应该起一目了然的名字即不要怕名字长,例如变量的命名
Wilson_Zhong 2010-09-28
  • 打赏
  • 举报
回复
我觉得
时间效率上,2种方法差不多
空间开销上,第2种会小些
边城的刀声 2010-09-28
  • 打赏
  • 举报
回复
另外,变量名字的长短对于运行效率没有任何影响,只会影响可读性
边城的刀声 2010-09-28
  • 打赏
  • 举报
回复
效率是一样的,但定义一些临时变量会让你的程序的可读性降低
但临时变量也不是没有用武之地,1.用于解释,2.在多个地方会用到
首先你的情况是这几个临时变量不会在多个地方用到,只是在一个地方用到。
现在只要考虑是否需要用临时变量来解释了,这样考虑,如果你的aa()方法名叫的和dd()中的参数一样的话,你可以考虑不用临时变量,否则可以考虑。关于临时变量的讨论,楼主可以详细看下贝壳的《实现模式》

骑猪看海 2010-09-28
  • 打赏
  • 举报
回复
好像有是这样的吧
arjsyy 2010-09-28
  • 打赏
  • 举报
回复
如果不用返回的变量值进行复杂得运算得话,我会选择第二种方法
WOWER2010_13 2010-09-28
  • 打赏
  • 举报
回复
大早上,顶一下
WOWER2010_13 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
变量要分配空间
执行效果差不多
返回值需要使用,直接返回变量
那么多方法是否设计合理
自己测试stopwatach
[/Quote]

谢谢如梦兄。那么多方法是否合理暂且不管,只是表露个大概意思,呵呵。
stopwatch,太好了。。我一直是用 datetime.now 来测试。。难怪一直测试不出个结果。。
WOWER2010_13 2010-09-27
  • 打赏
  • 举报
回复
呵呵,是啊,这些东西其实确实可以忽略不计,但是有时候写的时候仍然会小小的犹豫一下。

如果有高人能给指点下,以后就不用犹豫喽。
wuyq11 2010-09-27
  • 打赏
  • 举报
回复
变量要分配空间
执行效果差不多
返回值需要使用,直接返回变量
那么多方法是否设计合理
自己测试stopwatach
JiuchunYoung 2010-09-27
  • 打赏
  • 举报
回复
方法二 我一般是这样写的


变量的名字和 效率没有关系
纯唇Yu弄 2010-09-27
  • 打赏
  • 举报
回复
帮顶 坐等高手解答
dalmeeme 2010-09-27
  • 打赏
  • 举报
回复
效率差不多吧,可以忽略这个。变量名字长短效率也差不多的,忽略。像变量名字、id、name这类东西都是给编译器识别的,编译后都一样的。cpu只管变量的内存地址,不管它的名字。

62,272

社区成员

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

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

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

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