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