在C ++中我可以做到这一点,但我不知道如何在C#中做到这一点。基本上我想在我的Visual Studio 2008调试器的监视窗口中使用格式说明符来仅查看切片或数组的一部分。例如,如果我有这样的2D数组:
int[,] myArray = new int[5,15]
我可能只想查看列表中的最后15个项目,所以我希望能够将它放入我的观察窗口(或类似的东西):
myArray[5],15
Visual Studio中有这样的东西吗?
答案 0 :(得分:3)
Visual Studio 2008调试器支持的格式说明符描述为here。显然,C#调试器不支持相同的specifiers as C++。
在@Omers answer上构建,您可以使用以下监视表达式观看阵列的“已处理”版本:
System.Linq.Enumerable.Reverse(System.Linq.Enumerable.Take(System.Linq.Enumerable.Reverse(x), 2)), results
注意:results
格式说明符在您仅对结果感兴趣时观看IEnumerable
结果时非常有用。
答案 1 :(得分:2)
检查一下。此VS插件增加在调试模式中可视化数据的方式。
http://karlshifflett.wordpress.com/mole-2010/
......还有一个2008版本
http://karlshifflett.wordpress.com/mole-2010/mole-for-visual-studio/
答案 2 :(得分:2)
这不会直接回答您的问题,但如果您已加载System.Core,并且范围内有using System.Linq;
,则只需评估myArray[5].Reverse().Take(5).Reverse()
即可获得最后5个值。