Как вы используете Immediate Window в Visual Studio?

Я могу предложить 2 способа сделать это.
Предположим, что строка, которую нужно проверить, равна strYear, и вы считаете действительными все целочисленные значения> = 0.
Первый - принудительное приведение строки к целому числу и отлов любой сброшенной ошибки:

int year = -1;
try {
    year = Integer.parseInt(strYear);
} catch (NumberFormatException e) {
    e.printStackTrace();
}
boolean validYear = (year >= 0);

Второй - удаление всех нечисловых символов в строке и сравнение результата с исходной строкой. Если они одинаковы, то строка состоит только из цифр:

strYear = strYear.trim();
String strOnlyDigits = strYear.replaceAll("\\D", "");
boolean validYear = (!strYear.isEmpty() && strYear.equals(strOnlyDigits));
117
задан CJBS 27 February 2017 в 19:05
поделиться

2 ответа

Одной из приятных особенностей Immediate Window в Visual Studio является его способность оценивать возвращаемое значение метода, особенно если он вызывается вашим клиентским кодом, но это не часть присвоения переменной. В режиме отладки, как уже упоминалось, вы можете взаимодействовать с переменными и выполнять выражения в памяти, что играет важную роль в этом.

Например, если у вас есть статический метод, который возвращает сумму двух чисел, таких как :

private static int GetSum(int a, int b)
{
    return a + b;
}

Затем в окне Immediate Window вы можете ввести следующее:

? GetSum(2, 4)
6

Как видите, это очень хорошо работает для статических методов. Однако, если метод нестатический, вам необходимо взаимодействовать со ссылкой на объект, которому принадлежит метод.

Например, предположим, что ваш класс выглядит так:

? new Foo().GetMessage()
"hello" 

Очень распространенный способ увидеть значение метода - выбрать имя метода класса и выполнить «Добавить наблюдение», чтобы вы могли увидеть его текущее значение в окне отслеживания. Однако, еще раз, объект должен быть создан и находиться в области видимости для отображения допустимого значения. Это гораздо менее мощно и более ограничительно, чем использование Immediate Window.

Наряду с методами проверки вы можете выполнять простые математические уравнения:

? 5 * 6
30

или сравнивать значения:

? 5==6
false
? 6==6
true

Знак вопроса ('?') Не нужен, если вы находитесь непосредственно в окне Immediate Window, но оно включено сюда для ясности (чтобы различать введенные выражения и результаты). Однако, если вы находитесь в Command Window и вам нужно сделать что-то быстрое в Immediate Window, тогда укажите ваши утверждения с '?' и вперед.

Intellisense работает в окне Immediate Window , но иногда может быть немного непоследовательным. По моему опыту, кажется, что он доступен только в режиме отладки, но не в режиме разработки, без отладки.

К сожалению, еще одним недостатком Immediate Window является то, что оно не поддерживает циклы.

127
ответ дан 24 November 2019 в 02:09
поделиться

Я использую его меньше, чем в прошлом. Иногда полезно изменить значение переменной или проверить объекты. Это также можно сделать через окно наблюдения, поэтому я склонен использовать это чаще.

-2
ответ дан 24 November 2019 в 02:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: