【发布时间】:2016-01-22 18:22:32
【问题描述】:
示例代码如下:
string hi = "HelloWorld";
int length = hi.Length;
Console.WriteLine(length);
Console.WriteLine(length);
...
string hi = "HelloWorld";
int length = hi.Length;
Console.WriteLine(hi.Length);
Console.WriteLine(hi.Length);
...
如果 string 的 Length 属性会被多次访问,第一个 sn-p 代码是否比第二个更好?为什么?
当我们以 hi.Length 的方式访问字符串的长度时,CLR 会统计 hi 中的字符个数并返回或者只返回一个 10导致 Length 属性在初始化 hi 时被赋值为 10 还是其他原因?
Java 怎么样?
【问题讨论】:
-
@VMA - 不,发帖者在询问调用
hi.length的开销是否值得存储值以供重用 -
您是否要学习编写 10 万亿段不同代码的“最佳”方法,然后盲目地坚持使用它们,尽管它们可能会影响可读性?优化的第一条规则是:不要。编写简单、清晰、易懂的代码,同时设定性能目标。然后衡量你的表现并评估你是否达到了目标。如果还没有,请查明哪里出现性能问题,然后将精力集中在那里。微优化属性访问是非常值得怀疑的。