gpt4 book ai didi

c# - 例如,返回值从哪里来如果未填充到预期类型的​​已声明变量中,方法调用会继续吗?

转载 作者:太空狗 更新时间:2023-10-29 21:19:01 27 4
gpt4 key购买 nike

我们不会被迫填写返回值,例如方法调用预期类型的​​已声明变量,但在那种情况下会发生什么?

以下返回值去了哪里/它发生了什么:?

decimal d = 5.5m;
Math.Round(d, MidpointRounding.AwayFromZero);

显然,如果我想查看方法调用的结果,我会执行以下操作:

decimal d = 5.5m;
decimal d2 = Math.Round(d, MidpointRounding.AwayFromZero); // Returns 6 into
// the variable "d2"

(这个问题不针对值类型,也针对引用类型)

最佳答案

它从 execution stack 中弹出:

IL_000A:  call        System.Math.Round
IL_000F: pop

如果是引用类型,引用将从栈中弹出,对象本身最终会被GC回收(假设它没有其他引用)。

关于c# - 例如,返回值从哪里来如果未填充到预期类型的​​已声明变量中,方法调用会继续吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744211/

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