我读了这个问题 (<< a href='"https://stackoverflow.com/ questions/10494074/ what - is -the -scope-f-a-lambda-可变-in-c-'?
但它是关于兰巴达变异范围 在LINQ查询。
现在回答我的问题<强/强>
假设我有一个很简单的LINQ查询
var Foo = FoobBar.Select(x => x);
var x = somefunction();
编译者说: A 本地变量 x 不能在此范围内声明, 因为它会赋予 x 不同的含义, 而 x 已经在子范围中用于表示其他
。
为什么如此? 当 LINQ 查询结束时, Lambda 变量应该停止存在吗?
EDIT: 在读完答复后,我得出结论认为,其外部 x
(从功能返回),其范围在LINQ 查询范围内。