【发布时间】:2016-10-21 16:10:21
【问题描述】:
注意: 我愿意下载并安装任何可能为这类东西制作的扩展。该解决方案不需要直接来自标准 VS 功能。
问题: 有没有办法在调试器中停止时使用 LINQ 或任何其他查询方法来测试和查看列表、数组、IEnumerable 等的结果?
我知道您可以使用即时窗口删除对象中包含的信息,但我想知道是否有一种方法可以使用实际数据构建所需的 LINQ。
更新:
这是我在即时窗口中尝试使用 LINQ 时遇到的错误:
returnRecords.Select(x => x)
错误 CS1061:“列表”不包含“选择”的定义,并且没有 > 扩展方法“选择” 可以找到接受“列表”类型的第一个参数(是 您缺少 using 指令或程序集引用?)错误 CS1061:'List' 没有
但这在代码中可以正常工作
var fu = returnRecords.Select(x => x);
更新 2:
即使是这样简单的事情也行不通:
List<int> abc = new List<int>();
abc.Add(12);
abc.Add(15);
abc.Add(16);
abc.Add(91);
abc.Add(81);
abc.Add(14);
abc.Add(13);
abc.Add(10);
abc.Add(145);
abc.Add(12);
立即窗口:
abc
Count = 9
[0]: 12
[1]: 15
[2]: 16
[3]: 91
[4]: 81
[5]: 14
[6]: 13
[7]: 10
[8]: 145
abc.Where(x => x < 50);
error CS1061: 'List<int>' does not contain a definition for 'where' and no extension method 'where' accepting a first argument of type 'List<int>' could be found (are you missing a using directive or an assembly reference?)
【问题讨论】:
-
使用 VS2015,您可以在即时窗口中执行 linq 查询。您可以在那里创建和使用现有的(在您所在的范围内可用的)变量
-
大多数 linq 查询在即时窗口/监视窗口中工作,一些数据库查询不会
-
@Jmaurier - 如果您能更好地解释您想要实现的目标,我们可以提供更好的帮助
-
我通常将我所有的 linq 对象转换为 .ToList() 以便我可以在监视窗口中轻松查看结果。
-
@GiladGreen 我不是 OP,我只是给你添加评论
标签: c# linq visual-studio-2015