gpt4 book ai didi

c# - 类型转换的性能

转载 作者:IT王子 更新时间:2023-10-29 03:45:42 32 4
gpt4 key购买 nike

之间是否存在任何可衡量的性能差异

((TypeA) obj).method1();
((TypeA) obj).method2();
((TypeA) obj).method3();

var A = (TypeA) obj;
A.method1();
A.method2();
A.method3();

什么时候使用了很多次?

我经常看到类似的东西

if (((TextBox)sender).Text.Contains('.') || ((TextBox)sender).Text.Contains(','))

想知道这是否是对性能的浪费。

最佳答案

如果只用很少的其他工作就可以完成数十亿次,那么它可能是可衡量的。我不知道 CLR 是否会有效地缓存转换有效的事实,因此它不需要再次执行 - 如果现在不这样做,它可能会在以后的版本中这样做。它可能会在 64 位 JIT 中执行此操作,但不会在 32 位版本中执行此操作,反之亦然 - 您明白了。不过,我怀疑它是否会对普通代码产生重大影响。

不过,就我个人而言,我更喜欢第二种形式的可读性,而且到目前为止这一点更为重要。

关于c# - 类型转换的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1165602/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com