Раньше я использовал инструмент с открытым исходным кодом, названный HTMLParser . Он разработан, чтобы анализировать HTML по-разному и хорошо служит цели. Он может анализировать HTML как другой treenode, и вы можете легко использовать его API для получения атрибутов из узла. Проверьте это и посмотрите, поможет ли это вам.
Одной из приятных особенностей Immediate Window в Visual Studio является ее способность оценивать возвращаемое значение метода, особенно если оно вызывается вашим кодом клиента, но это не часть назначения переменной. В режиме отладки, как уже упоминалось, вы можете взаимодействовать с переменными и выполнять выражения в памяти, которые играют важную роль в возможности этого.
Например, если у вас был статический метод, который возвращает сумму два числа, такие как:
private static int GetSum(int a, int b)
{
return a + b;
}
Затем в окне Immediate вы можете ввести следующее:
? GetSum(2, 4)
6
Как вы можете видеть, это работает очень хорошо для статических методов. Однако, если метод нестатический, вам необходимо взаимодействовать со ссылкой на объект, к которому принадлежит метод.
Например, предположим, что это выглядит следующим образом:
private class Foo
{
public string GetMessage()
{
return "hello";
}
}
Если объект уже существует в памяти и он находится в области видимости, вы можете вызвать его в окне «Немедленное», пока он был создан до вашей текущей точки останова (или, по крайней мере, перед тем, где код приостанавливается в режиме отладки):
? foo.GetMessage(); // object ‘foo’ already exists
"hello"
Кроме того, если вы хотите напрямую взаимодействовать и протестировать метод, не полагаясь на существующий экземпляр в памяти, вы можете создать экземпляр своего собственный экземпляр в окне Immediate:
? Foo foo = new Foo(); // new instance of ‘Foo’
{temp.Program.Foo}
? foo.GetMessage()
"hello"
Вы можете сделать еще один шаг и временно присвоить результаты метода переменным, если вы хотите сделать дальнейшие оценки, вычисления и т. д .:
? string msg = foo.GetMessage();
"hello"
? msg + " there!"
"hello there!"
Кроме того, если вы даже не хотите объявлять имя переменной для нового объекта и просто хотите запустить один из своих методов / функций, сделайте следующее:
? new Foo().GetMessage()
"hello"
Очень распространенный способ увидеть значение метода - выбрать имя метода для класса и сделать «Добавить часы», чтобы вы могли видеть его текущее значение в окне «Смотреть». Тем не менее, еще раз, объект должен быть создан и доступен для видимого значения. Это гораздо менее мощное и более ограничительное, чем использование Immediate Window.
Наряду с методами проверки вы можете выполнять простые математические уравнения:
? 5 * 6
30
или сравнивать значения:
? 5==6
false
? 6==6
true
Вопросительный знак ('?') не нужен, если вы находитесь непосредственно в окне Immediate, но он включен здесь для ясности (чтобы различать типизированные выражения по сравнению с результатами). Однако, если вы находятся в окне команд и должны делать некоторые быстрые вещи в окне «Немедленное», а затем перед вашими утверждениями «?» и вы уходите.
Intellisense работает в окне Immediate Window , но иногда может быть немного непоследовательным. По моему опыту, он доступен только в режиме отладки, но не в режиме проектирования, а не в режиме отладки.
К сожалению, еще один недостаток Immediate Window заключается в том, что он не поддерживает циклы.
Окно Immediate также может использоваться для выполнения команд. Просто введите a >
, за которым следует команда.
Например, >shell cmd
запустит командную оболочку (это может быть полезно для проверки того, что переменные среды были переданы, например, Visual Studio). >cls
очистит экран.
Вот список команд, которые так часто используются, что у них есть свои собственные псевдонимы: https://msdn.microsoft.com/en-us/ библиотека / c3a0kd3x.aspx
>open Filename
откроет выбранный файл в решении и даже выполнит его.
– Phillip Ngan
28 February 2017 в 20:24
Окно Immediate используется для отладки и оценки выражений, выполнения операторов, значений переменных печати и т. д. Он позволяет вводить выражения, которые будут оцениваться или выполняться языком разработки во время отладки.
Чтобы отобразить окно Immediate, выберите Debug> Windows> Immediate или нажмите Ctrl-Alt-I
Вот пример с Immediate Window:
int Sum(int x, int y) { return (x + y);}
void main(){
int a, b, c;
a = 5;
b = 7;
c = Sum(a, b);
char temp = getchar();}
добавить точку останова
команды вызова
Я использую его меньше, чем в прошлом. Иногда полезно изменять значение переменной или проверять объекты. Это можно сделать и с помощью окна часов, поэтому я чаще использую это.
Ctrl + Alt + I
или Отладка - & gt; Windows - & gt; Немедленное I> – Ray Vega 2 March 2017 в 17:24