Domanda

voglio impostare un punto di interruzione su una determinata linea di codice C # quando qualche altra variabile è pari ad un valore specifico, ad esempio:

MyStringVariable == "LKOH"

Come posso fare questo?

Ho cercato di fare clic destro sull'icona punto di interruzione -> Stato e quindi digitato MyStringVariable == "LKOH" e Visual Studio detto che non può valutarlo

.
È stato utile?

Soluzione

Codice di esempio:

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
}

Condizione: myvar == "bar"

funziona bene.

Altri suggerimenti

if (MyStringVariable == "LKOH") Debugger.Break();

è necessario System.Diagnostics spazio dei nomi

http://msdn.microsoft.com/ it-it / library / system.diagnostics.debugger.break.aspx

Proprio come in codice, è necessario utilizzare:

MyStringVariable == "LKOH"

Le doppie-eguali è la chiave. Senza di essa, sta dicendo che non può valutare, perché la tua espressione non restituisce un valore booleano.

Si dovrebbe essere in grado di fare questo lavoro. Si sta utilizzando il nome di istanza di Exchange nella condizione? La condizione dovrebbe essere qualcosa di simile myExchange.Name == "LKOH" non Exchange.Name == "LKOH".

Tra l'altro, utilizzando l'operatore di assegnazione = anziché l'operatore == uguaglianza funzionerà ma sarà impostare la proprietà e sprecare 1/2 ora del vostro tempo per capire cosa diavolo sta succedendo. Ho fatto questo errore proprio ieri.

La variabile che si sta testando per le esigenze di essere portata al punto di interruzione.

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

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

Nel mio caso, ho dimenticato che ero il debug di un'applicazione VB.

In VB uguaglianza è = non == come molte altre lingue, così il mio punto di interruzione condizionale aveva bisogno di essere myString = "someValue" non myString == "someValue"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top