Подтвердить что ты не робот

Условная точка останова в Visual Studio

Я хочу установить точку останова на определенной строке в коде С#, когда какая-либо другая переменная равна определенному значению, например:

MyStringVariable == "LKOH"

Как я могу это сделать?

Я попытался щелкнуть правой кнопкой мыши по значку точки останова → Условие, а затем набрал MyStringVariable == "LKOH", а Visual Studio сказал, что он не может его оценить.

4b9b3361

Ответ 1

Пример кода:

static void Main(string[] args) {
  string myvar;
  for (int ix = 0; ix < 10; ++ix) {
    if (ix == 5) myvar = "bar"; else myvar = "foo";
  }    // <=== Set breakpoint here
}

Условие: myvar == "bar"

Хорошо работает.

Ответ 3

Как и в коде, вам нужно использовать:

MyStringVariable == "LKOH"

Двойным эквивалентом является ключ. Без этого он говорит, что он не может оценить, потому что ваше выражение не вычисляет логическое значение.

Ответ 4

Вы должны уметь выполнять эту работу. Используете ли вы имя экземпляра Exchange в состоянии? Условие должно быть чем-то вроде myExchange.Name == "LKOH" not Exchange.Name == "LKOH".

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

Ответ 5

Переменная, которую вы тестируете, должна находиться в области видимости в точке останова.

var x = "xxx";
{ 
  var y = "yyy";
}

brak(); // x is in scope, y isn't

Ответ 6

В моем случае я забыл, что отлаживал приложение VB.

В VB равенство = not ==, как и многие другие языки, поэтому моя условная точка останова должна быть myString = "someValue" not myString == "someValue"