2008-12-29 27 views
5

No estoy seguro de cuál es el problema, pero sigo recibiendo este error cuando trato de usar una instrucción while en mi código.Token no válido 'while' en clase, estructura o declaración de miembro de interfaz en código muy simple

Elemento inválido 'mientras que' en clase, estructura o miembro de interfaz declaración

Quiero utilizar un bucle while que tener algo actualizar continuamente mientras que una afirmación es cierta.

El resto de mi código es bastante largo pero cada vez que escribo en la sintaxis:

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

me da error del compilador que la derecha del palo. No estoy seguro de cuál es el problema. Estoy haciendo esto en una aplicación de Windows C# bajo el archivo Form1.cs con todos los demás controladores de eventos (para botones y tal). Gracias!


yo no sabía que tenían lazos para ser colocado dentro de un método (bastante nuevo en C#), pero he probado y no se han devuelto errores. ¡Gracias a todos por su ayuda!

Anteriormente, acabo de tener el ciclo dentro de la clase principal del programa.

Respuesta

25

Basado en el error, parece que el compilador cree que este código se escribe directamente en el cuerpo de una declaración de clase/estructura/interfaz. Las declaraciones while/if/for/etc ... deben aparecer en un método.

Intente mover este código a un método para solucionar el problema. Si está en un método, es probable que tengas un problema de corsé no coincidente.

3

No hay nada de malo en el tiempo, es algo arriba, ese es el problema. Comprueba llaves y puntos y comas que no coincidan en un comentario o algo por el estilo.

+0

Esto es seguro. –

2

C# no está permitido escribir código directamente en las clases; está permitido escribir solo miembros de datos y miembros de funciones directamente en las clases.

0

También puede conseguir esto si tiene problemas de puntuación, lo tengo hoy cuando faltan paréntesis simples:

public static string GetPasswordForEnvironment) 

debería haber sido:

public static string GetPasswordForEnvironment() 

Pero el error apareció en la primera declaración "si" más adelante en la función.

Cuestiones relacionadas