Как избежать изменения переменной списка просмотра при изменении значения в Visual Studio?
Я хотел бы избежать того, чтобы окно просмотра сворачивало содержимое списка переменных списка при изменении значения в процессе моего приложения в режиме отладки. Я не знаю, действительно ли я прав, см. Рисунки ниже:
Рухнул:
![введите описание изображения здесь]()
Expended:
![введите описание изображения здесь]()
Я хотел бы видеть содержимое моего списка и расширять содержимое моего списка, даже если строка моего списка изменится. Есть ли способ заблокировать окно просмотра?
Ответы
Ответ 1
Как упоминалось в @JasonH, список останется расширенным, а переменные ссылаются на тот же объект, и на экране будет отображаться модифицированный элемент красного цвета. Список будет сбрасываться при назначении новой ссылки на переменную. Я не знаю какой-либо возможности изменить это поведение.
В качестве альтернативы вы можете прикреплять элементы в интересующем вас списке. Или вы можете связывать все элементы. В этом случае вы получите список расширенного события, если ссылки будут изменены. Но он будет доступен только на этой конкретной вкладке. Вот пример и изображение каждого шага:
var ints = new [] {"1", "2", "3", "4"};
ints[1] = "3";
ints = new[] { "1" };
![Шаг 3]()
Ответ 2
Короткий ответ на "фиксацию открывания часов" - нет, вы не можете.
Во-первых, эта опция просто недоступна в VS, но вы можете предложить ее Visual Studio User Voice, если вы чувствуете, что это поможет вы и другие.
Во-вторых, и это немного усложняется, но следуйте за мной...
Если элемент часов выходит за рамки, он рухнет. Если элемент просмотра повторно инициализирован (что в какой-то мере выводит его из области на мгновение), он также рухнет. Если у вас есть элемент наблюдения (сложный объект), и вы начинаете изменять его свойства и/или поля, вы увидите, что они (свойства и поля) будут меняться, но элемент (объект) наблюдения не разрушается.
Надеюсь, это поможет.