C#数组的Visual Studio格式说明符?

时间:2011-07-07 20:48:02

标签: c# visual-studio-2008 debugging format-specifiers

在C ++中我可以做到这一点,但我不知道如何在C#中做到这一点。基本上我想在我的Visual Studio 2008调试器的监视窗口中使用格式说明符来仅查看切片或数组的一部分。例如,如果我有这样的2D数组:

int[,] myArray = new int[5,15]

我可能只想查看列表中的最后15个项目,所以我希望能够将它放入我的观察窗口(或类似的东西):

myArray[5],15

Visual Studio中有这样的东西吗?

3 个答案:

答案 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个值。