2008-12-29 2 views
5

Ich bin mir nicht sicher, was das Problem ist, aber ich erhalte diesen Fehler, wenn ich versuche, eine while-Anweisung in meinem Code zu verwenden.Ungültiges Token 'while' in der Deklaration von Klassen-, Struct- oder Interface-Membern in sehr einfachem Code

Ungültige token ‚während‘ in der Klasse, Struktur oder Schnittstelle Mitglied Erklärung

Ich möchte eine while-Schleife verwenden, um etwas zu haben, kontinuierlich zu aktualisieren, während eine Aussage wahr ist.

Der Rest meines Codes ist ziemlich lang, aber wenn ich in der Syntax eingeben:

while(a<b) 
{ 
//do whatever i want it to do here 
} 

Es gibt mir, dass die Compiler-Fehler auf Anhieb. Nicht ganz sicher, was das Problem ist. Ich mache das in einer C# -Windows-Anwendung unter der Form1.cs-Datei mit allen anderen Event-Handlern (für Buttons und so). Danke!


Ich war nicht bewusst, dass Schleifen innerhalb einer Methode (ziemlich neu in C#) gesetzt werden musste, aber ich versuchte es und es wurden keine Fehler zurückgegeben. Danke für deine Hilfe alle!

Zuvor hatte ich nur die Schleife innerhalb der Hauptklasse des Programms.

Antwort

25

Basierend auf dem Fehler, es klingt wie der Compiler denkt, dass dieser Code direkt in den Text einer Deklaration class/struct/interface eingegeben wird. Anweisungen während/if/für/etc ... müssen in einer Methode mit angezeigt werden.

Versuchen Sie, diesen Code in eine Methode zu verschieben, um das Problem zu beheben. Wenn es in einer Methode ist, haben Sie wahrscheinlich ein nicht übereinstimmendes Klammerproblem.

3

Es ist nichts falsch mit der Weile, es ist etwas darüber, das ist das Problem. Suchen Sie nach nicht übereinstimmenden Klammern und Semikola in einem Kommentar oder so ähnlich.

+0

Das ist es sicher. –

2

C# darf keinen Code direkt in die Klassen schreiben; Es ist erlaubt, nur Datenmitglieder und Funktionsmitglieder direkt in die Klassen zu schreiben.

0

Sie können dies auch, wenn man Zeichensetzung Probleme haben, ich es heute bekam, wenn ich eine einfache Klammern fehlt:

public static string GetPasswordForEnvironment) 

hätte sein sollen:

public static string GetPasswordForEnvironment() 

Aber der Fehler auftauchten auf die erste "if" -Anweisung später in der Funktion.

Verwandte Themen