C# 监视窗口中的内联Lambda表达式
我通常需要在调试期间编写自定义lambda表达式 例如:C# 监视窗口中的内联Lambda表达式,c#,linq,lambda,watch-window,C#,Linq,Lambda,Watch Window,我通常需要在调试期间编写自定义lambda表达式 例如: (新函数(x=>$“{commandParameters[x].ParameterName}:{commandParameters[x].Value}”)(2) 或者短一点的: (新函数(x=>x.ToString())(2) 或 ((Func)(x=>x.ToString())(2) 我想知道我们可以编写这样的表达式的最简单形式,以便在Watch窗口中对它们进行计算 省略Func构造,我们将得到(x=>x.ToString())(2),
(新函数(x=>$“{commandParameters[x].ParameterName}:{commandParameters[x].Value}”)(2)
或者短一点的:
(新函数(x=>x.ToString())(2)
或
((Func)(x=>x.ToString())(2)
我想知道我们可以编写这样的表达式的最简单形式,以便在Watch
窗口中对它们进行计算
省略Func
构造,我们将得到(x=>x.ToString())(2)
,它的可读性更高,但由于CS0149:预期的方法名称
可爱的候选人:
(x=>x.ToString())(2)
((int x)=>x.ToString())(2)
怎么样(Func)(x=>x.ToString())(2)
@ZevSpitz,我已经在编辑问题中添加了它,它更简单,但我们必须指定Func类型如果您硬编码参数,lambda表达式的用途是什么?为什么不直接说2.ToString()
?@NetMage,看看第一个例子,其中参数用于复杂表达式和多个位置,但是$“{commandParameters[2]。ParameterName}:{commandParameters[2]。Value}”
似乎仍然可行,特别是因为这是为了调试。