2016-08-09 185 views
-5
if (Catz = unchecked) 

Es zeigt einen Fehler nach der ")" am Ende dieser Anweisung. Ich habe die ganze Aussage geschrieben und es zeigt keine anderen Fehler neben der Frage nach einem anderen ")".Fehler bei if-Anweisung bei Verwendung von deaktiviert

Gibt es ein Problem mit der Verwendung von deaktiviert? HINWEIS: Ich habe ein Kontrollkästchen, das ich für diese if-Anweisung verwende.

+1

Bewegen Sie den Mauszeiger über "unchecked" und sehen Sie, was der Fehler sagt. 'unchecked' ist ein Reservewort und erwartet einen Kontext. Die andere Sache ist, dass, um die Gleichheit zu prüfen, '' = '' – Habib

+0

[unchecked ist ein Schlüsselwort] verwendet wird (https://msdn.microsoft.com/en-us/library/a569z7k8.aspx); 'Catz = unchecked 'ergibt syntaktisch keinen Sinn. Versuchen Sie, es als Variable zu verwenden? Oder versuchst du wirklich, etwas mit Überlaufprüfung zu machen? – Jacob

+0

Ich benutze die if-Anweisung, um Aktionen basierend darauf auszuführen, ob das Kontrollkästchen aktiviert ist oder nicht –

Antwort

3

versuchen Sie dies:

if (Catz.Checked) 
{ 
    // do whatever 
} 

Wenn ich Sie richtig verstanden und Catz ein CheckBox ist dann die Eigenschaft, die Sie suchen ist wahrscheinlich Checked. Dies kann true oder false In einer if Anweisung sind Sie das bool Variable ohne einen Vergleichsoperator wie „==“

die „!“

zu überprüfen, für den entgegengesetzten Gebrauch verwenden können Negationsoperator:

// if UNCHECKED/NOT CHECKED 
if (!Catz.Checked) 
{ 
    // do whatever 
} 
+0

gelöst danke. Hatte heute morgen einen Derp-Moment –

+0

. Ja, ich kenne dieses Gefühl –

0

Sie haben zwei Probleme im Code Sie zeigen:

1) = ist für die Zuordnung, == ist Gleichheit für die Überprüfung. Sie haben =, wenn Sie == verwenden sollten.

2) unchecked ist ein Schlüsselwort in C#. Sie können Schlüsselwörter als Variablennamen verwenden, wenn Sie ein @ es setzen:

if (Catz == @unchecked) 

Es ist einfacher, nur wenn ein nicht reservierten Variablennamen zu verwenden.