Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 监视窗口中的内联Lambda表达式_C#_Linq_Lambda_Watch Window - Fatal编程技术网

C# 监视窗口中的内联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),

我通常需要在调试期间编写自定义lambda表达式

例如:

(新函数(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}”
似乎仍然可行,特别是因为这是为了调试。