如何在VS 2013中的立即窗口中执行LINQ和/或foreach?

Kon*_*ten 19 c# linq lambda immediate-window visual-studio

在调试过程中探测当前状态时,立即窗口是非常有用的工具.我了解到,通过使用问号,一个可以做在那里多一点,如图在这个岗位.

但是,我仍然不知道如何在那里执行LINQ查询(包括 lambda表达式).我也没有执行foreach声明.

执行以下语句时:

?(things.Select(thing=>thing.Id);)
?(foreach(var thing in things);)
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

表达式不能包含lambda表达式
无效的表达式术语'foreach'

(如何)我可以在立即窗口中执行这些操作吗?

VS Gallery中也有一个工具,但据说它只适用于VS05和VS08,大多数程序员在很久以前就已经抛弃了它们.我正在寻找适用于VS13和/或VS15的东西.

Ric*_*Ric 12

根据visual studio 2015中提供的新功能,现在可以在watch/immediate窗口中获得对lambdas调试的支持:

调试器Windows中的Lambda表达式

您现在可以在C#和Visual Basic中的Watch,Immediate和其他调试器窗口中使用lambda表达式.

资源:

Visual Studio 2015 RTM


Jam*_*ees 6

在VS2015中,您可以在监视窗口和即时窗口中使用lambda表达式。

只需添加监视或在立即窗口中键入(在调试时且things在范围内):

things.Select(thing => thing.Id);
Run Code Online (Sandbox Code Playgroud)

您将获得结果列表。

这是关于的博客

  • 请注意,Visual Studio 2015 Community Edition具有与Pro完全相同的功能(例如您可以安装插件),并且是完全免费的。 (2认同)