无效的表达式术语 => 错误



我下面的VS2013,.NET 4.5.1代码(用Atest代替测试)给出了上面的错误:

return Regex.Replace("This is test. Another test.", "test", "A" + m => m.Value);

但是,用testA代替test的以下代码是有效的:

return Regex.Replace("This is test. Another test.", "test", m => m.Value + "A");

注意:以上示例仅用于解释错误。真正的正则表达式模式更为复杂。

在Lambda表达式中:

在"=>"之前:它们看起来像InArguments。所以你不能使用赋值、运算、逻辑。。

在"=>"之后:它们看起来像表达式术语

示例:

  1. (x,y)=>x==y
  2. (int x,string s)=>s。长度>x
  3. ()=>SomeMethod()

相关内容

最新更新