gpt4 book ai didi

c# - 变量什么时候成为闭包的一部分?

转载 作者:行者123 更新时间:2023-12-03 20:30:45 27 4
gpt4 key购买 nike

假设我想创建一个匿名 getter 函数,它将返回成员变量 foo 的当前值。我可能会写:

Func<int> myFunction = delegate() { return foo; };

但假设我想要一个函数,它接受 foo 的值,将该值绑定(bind)到其闭包中,然后在每次调用时返回该值。我会写同样的东西:

Func<int> myFunction = delegate() { return foo; };

C# 编译器如何区分?有没有办法更具体地询问您想要什么?

最佳答案

匿名函数总是使用闭包。

没有办法只捕获变量的值。

如果您不希望函数看到变量的更改,您可以创建一个单独的临时变量并在函数中使用它,

关于c# - 变量什么时候成为闭包的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374772/

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