Спецификатор формата Visual Studio для массивов C #? - PullRequest
14 голосов
/ 08 июля 2011

В C ++ я мог бы сделать это, но я не вижу, как это сделать в C #.По сути, я хочу использовать спецификатор формата в окне просмотра моего отладчика Visual Studio 2008 для просмотра только фрагмента или части массива.Например, если у меня есть двумерный массив, например, так:

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

Я могу захотеть просмотреть только последние 15 элементов в списке, поэтому я хотел бы иметь возможность поместить это в окно наблюденияили что-то подобное):

myArray[5],15

Есть ли что-нибудь подобное в Visual Studio?

Ответы [ 3 ]

3 голосов
/ 08 июля 2011

Спецификаторы формата, поддерживаемые отладчиком Visual Studio 2008, описаны здесь . Очевидно, что отладчик C # не поддерживает те же спецификации , что и C ++ .

Опираясь на @ Omers answer , вы можете наблюдать "обработанную" версию массива, используя следующее выражение наблюдения:

System.Linq.Enumerable.Reverse(System.Linq.Enumerable.Take(System.Linq.Enumerable.Reverse(x), 2)), results

Примечание: спецификатор формата results полезен при просмотре результатов IEnumerable, если вас интересуют только результаты.

2 голосов
/ 08 июля 2011

Это не дает прямого ответа на ваш вопрос, но если у вас загружен System.Core и using System.Linq; в вашей области, вы можете просто оценить myArray[5].Reverse().Take(5).Reverse(), чтобы получить последние 5 значений.

2 голосов
/ 08 июля 2011

Проверьте это.Этот плагин VS увеличивает количество способов визуализации данных в режиме отладки .

http://karlshifflett.wordpress.com/mole-2010/

... также существует версия 2008 года

http://karlshifflett.wordpress.com/mole-2010/mole-for-visual-studio/

...