如何在调试时看到IEnumerable的元素?

时间:2015-05-05 16:56:10

标签: c# visual-studio debugging

我正在使用IEnumerable,在调试器中我希望看到它有的项目,但我不能,因为没有任何属性也没有项目。

是否可以看到具有IEnumerable的项目?

6 个答案:

答案 0 :(得分:4)

通过执行此操作指示您执行的操作:

enter image description here

即。单击突出显示区域左侧的圆形箭头。

答案 1 :(得分:4)

使用“本地”窗口并展开结果视图。

答案 2 :(得分:1)

Visual Studio 2013 Community Edition中,调试器根据有效数据类型显示结果集:

enter image description here

如果将鼠标悬停在接口类型变量或原始集合变量上,则没有任何区别。

答案 3 :(得分:1)

有几十种可能性。 你可以尝试

 .ToList();
 // and access single elements through the index
 .ToList()[0];
 //you can use type those commands in the table at
 //"observe local"

use "observe local" in VS

答案 4 :(得分:1)

作为展开结果视图的替代方法,您可以在观察窗口中使用“结果”format specifier

例如,如果可枚举变量名为“myIEnumerable”,则在监视窗口的名称列中键入“myIEnumerable,results”。

结果说明符相对于扩展结果视图的一个小好处是它避免显示各种枚举器属性,从而为结果保留屏幕空间。

答案 5 :(得分:0)

在调试时,设置一个断点,然后在VS中转到:

Debug -> Windows -> Immediate然后在立即窗口中输入以下命令:

yourEnumerable.ToList()
yourEnumerable.Count() // see how many elements are in
yourEnumerable.ToList()[0] // access by index
yourEnumerable.ToArray()[0] // also access by index