他の変数が特定の値に等しい場合、C#コードの特定の行にブレークポイントを設定したいと思います。
MyStringVariable == "LKOH"
どうやってやるの?
ブレークポイントアイコン->条件を右クリックしてからMyStringVariable == "LKOH"
と入力しようとしましたが、VisualStudioはそれを評価できないと言いました。
サンプルコード:
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"
うまく機能します。
if (MyStringVariable == "LKOH") Debugger.Break();
system.Diagnostics名前空間が必要です
http://msdn.Microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx
コードの場合と同様に、次を使用する必要があります。
MyStringVariable == "LKOH"
二重等号が重要です。それがないと、式がブール値に評価されないため、評価できないと言っています。
あなたはこの仕事をすることができるはずです。条件でExchangeインスタンス名を使用していますか?条件は、myExchange.Name == "LKOH"
ではなくExchange.Name == "LKOH"
のようにする必要があります。
ちなみに、等式演算子=
の代わりに代入演算子==
を使用しても機能しますが、プロパティが設定され、何が起こっているのかを理解するのに30分も無駄になります。私は昨日この間違いをしました。
私の場合、VBアプリケーションをデバッグしていることを忘れていました。
VB等式は、他の多くの言語のように=
ではなく==
であるため、条件付きブレークポイントはmyString = "someValue"
ではなくmyString == "someValue"
である必要がありました。
テストする変数は、ブレークポイントのスコープ内にある必要があります。
var x = "xxx";
{
var y = "yyy";
}
brak(); // x is in scope, y isn't