为什么不能在 lambda 表达式中使用 ref 或 out 参数?
今天我遇到了这个错误,虽然找到了解决方法,但我还是很好奇为什么这是一个编译时错误。
CS1628: 在匿名方法、lambda 表达式或查询表达式中无法使用 ref 或 out 参数 'parameter'
下面是一个简单的例子:
private void Foo()
{
int value;
Bar(out value);
}
private void Bar(out int value)
{
value = 3;
int[] array = { 1, 2, 3, 4, 5 };
int newValue = array.Where(a => a == value).First();
}