c# – 为什么下面的代码编译没有错误?

我正在搞砸我的C#项目一点点,我很惊讶地看到这段代码编译:

var a = new Action<string>(ref b => b = "hello");

以其他方式翻转它,如Action< string> a = ref b => b =“你好”将在“ref”上发出语法错误。

果然,将代码片段复制到http://dotnetfiddle.net中会给出编译器错误:

A ref or out argument must be an assignable variable

我在编译器中遇到了一个错误? (我正在使用VS 2015和C#6)

编辑:只需切换到.NET Fiddle上的Roslyn编译器,它仍然会发出相同的错误。

最佳答案
这听起来像VS2015中的编译器错误。这是作为https://github.com/dotnet/roslyn/issues/6646提交的

转载注明原文:c# – 为什么下面的代码编译没有错误? - 代码日志