之间是否有任何可测量的性能差异
((TypeA) obj).method1();
((TypeA) obj).method2();
((TypeA) obj).method3();
and
var A = (TypeA) obj;
A.method1();
A.method2();
A.method3();
什么时候使用很多次?
我经常看到类似的东西
if (((TextBox)sender).Text.Contains('.') || ((TextBox)sender).Text.Contains(','))
并想知道这是否浪费性能。
如果它被执行了数十亿次而几乎不需要其他工作,那么它可能是可测量的。我不知道 CLR 是否会有效地缓存强制转换有效的事实,因此不需要再次执行此操作 - 如果现在不执行此操作,则可能会在以后的版本中执行此操作。它可能会在 64 位 JIT 中执行此操作,但不会在 32 位版本中执行此操作,反之亦然 - 您明白了。我怀疑这会对正常代码产生重大影响。
我个人喜欢可读性第二种形式更多,而且到目前为止更重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)