在C#中,Lambda函数默认捕获变量的副本,而不是引用。但是,如果您希望捕获引用而不是副本,可以使用ref
关键字。
例如,以下代码将捕获x
的副本:
int x = 10;
var lambda = () => x;
如果您希望捕获x
的引用,可以使用ref
关键字:
int x = 10;
var lambda = () => ref x;
在这种情况下,Lambda函数将捕获x
的引用,而不是副本。
请注意,捕获引用可能会导致意外的副作用,因此请谨慎使用。
领取专属 10元无门槛券
手把手带您无忧上云