gpt4 book ai didi

c# - 多余的强制转换会影响性能吗?

转载 作者:行者123 更新时间:2023-12-02 11:21:12 25 4
gpt4 key购买 nike

我知道装箱/拆箱会影响性能。根据 MSDN,unboxing can take four times as long as an assignment 。我们的代码中有许多行具有“冗余”强制转换。实际上并不需要它们,并且没有它们代码也可以正常编译。也许它不会损害性能,因为编译器认为不需要拆箱,但也许不需要!也许当我们显式地转换它们时,编译器将被迫进行不必要的拆箱。我想知道这种类型的“冗余转换”是否也会像拆箱或 nop 一样影响性能?

最佳答案

(int)0(object)null 这样的真正冗余的转换会被编译器忽略。由于无论是否使用强制转换表达式,生成的 IL 都完全相同,因此不会造成性能损失。对于显式转换也是如此,无论如何都会执行装箱转换:

object value = 0;
object value = (object)0; // exactly the same

关于c# - 多余的强制转换会影响性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10767443/

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