示例代码是这样的:当我们访问C#中字符串的'Length'属性时会发生什么?
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);
...
如果字符串的长度财产将被访问超过一次,是第一个代码段比第二个好?为什么?
当我们访问 hi.Length的方式字符串的长度,CLR将数字符的数目喜并返回,或只返回一个10起因长度属性已被分配一个值在当时的10个嗨已初始化或其他?
在Java中如何?
[.NET String.Length属性返回什么?替代中性长度或完整的字符长度](http://stackoverflow.com/questions/5656472/what-does-the-net-string-length-property-return-surrogate-neutral-length-or-co) – Michael
@VMA - 不,海报问是否调用'hi.length'的开销值得存储值以供重用 –
您是否要学习编写10万亿不同代码片段的“最佳”方法,然后盲目地坚持使用尽管他们可以做些什么来提高可读性?优化的第一条规则是:不。写*简单*,*清除*,可理解的代码,同时设置性能*目标*。然后衡量你的表现并评估你是否达到了目标。如果您还没有,请确定*性能问题在哪里,然后将精力集中在那里。微优化房地产访问是非常值得怀疑的。 –