Поделиться через


Описатели формата для C# в отладчике Visual Studio

С помощью описателей формата можно изменить формат, в котором значение отображается в окне Контрольные значения. Описатели формата можно также использовать в окне Интерпретация, окне Команды, в точках трассировки и окнах исходного кода. Если вы приостановите выполнение на выражении в одном из этих окон, результат отобразится в подсказках по данным в указанном формате.

Чтобы применить описатель формата, введите переменное выражение, затем запятую и допустимый описатель.

Настройка описателей формата

Мы применим следующий пример кода:

{
    int my_var1 = 0x0065;
    int my_var2 = 0x0066;
    int my_var3 = 0x0067;
}

Добавьте переменную my_var1 в окно контрольных значений в процессе отладки, поочередно выбрав элементы Отладка>Окна>Контрольные значения>Контрольное значение 1. Щелкните переменную правой кнопкой мыши и выберите пункт Шестнадцатеричный вывод. Теперь в окне Контрольные значения отобразится значение 0x0065. Чтобы это значение отображалось в виде десятичного, а не шестнадцатеричного целого числа, добавьте описатель десятичного формата , d в столбец Имя после имени переменной. Теперь в столбце Значение отобразится 101.

Screenshot of the Visual Studio Watch window with one line that shows my_var1, d with a value of 101 and a type of int.

Чтобы просмотреть список доступных описателей формата и выбрать из него нужный вариант, добавьте запятую (,) к значению в окне Контрольные значения.

FormatSpecCSharp

Описатели формата

В следующей таблице перечислены описатели формата для C# в отладчике Visual Studio.

класса хранения Формат Исходное контрольное значение Мониторы
кондиционер Принудительное вычисление выражения, которое полезно в том случае, когда неявное вычисление свойств и неявные вызовы функций отключены. Сообщение "Неявное вычисление функций выключено пользователем" <значение>
d Десятичное целое число 0x0065 101
по строкам Отображает указанный объект с помощью динамического представления. Отображает все члены объекта, включая динамическое представление Отображает только динамическое представление
ч шестнадцатеричное целое число 61541 0x0000F065
nq строка без кавычек "Моя строка" Моя строка
nse Задает поведение, а не формат. Вычисляет выражение "без побочных эффектов". Если выражение нельзя интерпретировать, а его разрешение возможно только при вычислении (например, для вызова функции), вы увидите сообщение об ошибке. Неприменимо Неприменимо
hidden Отображает все открытые и не являющиеся открытыми члены. Отображение открытых членов Отображение всех членов
raw Отображает элемент в том виде, в котором он отображается в узле необработанного элемента. Допустимо только для прокси-объектов. Dictionary<T> Базовое представление Dictionary<T>
Результаты Используется с переменной типа, реализующего интерфейс IEnumerable или IEnumerable<T>. Обычно это результат запроса. Отображает только члены, которые содержат результат запроса. Отображение всех членов. Отображение членов, соответствующих условиям запроса.