Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: FKT en 18 Agosto 2015, 11:08 am



Título: Duda C# Bucle While.
Publicado por: FKT en 18 Agosto 2015, 11:08 am
Buenas, en un bucle While se puede introducir las veces que se ejecuta el bucle como un bucle for por ejemplo? Si es así me gustaría un ejemplo.

Gracias


Título: Re: Duda C# Bucle While.
Publicado por: ivancea96 en 18 Agosto 2015, 14:33 pm
Un bucle while se ejecuta hasta que obtenga un valor de 0.

Así pues:
Código
  1. int veces = 5;
  2. while(veces--){
  3.  
  4. }

Eso se ejecutará 5 veces. Si lo prefieres más ordenado:
Código
  1. int veces = 5;
  2. while(veces){
  3.  
  4.    veces--;
  5. }

La mayoría de los lenguajes con bucle while() serán así. Otra cosa es que el lenguaje en cuestión añada otro método, como en Python:

Código
  1. for i in range(0,5):


Título: Re: Duda C# Bucle While.
Publicado por: MNicolas en 18 Agosto 2015, 14:39 pm
Un bucle while se ejecuta hasta que obtenga un valor de 0.

Así pues:
Código
  1. int veces = 5;
  2. while(veces--){
  3.  
  4. }

Eso se ejecutará 5 veces. Si lo prefieres más ordenado:
Código
  1. int veces = 5;
  2. while(veces){
  3.  
  4.    veces--;
  5. }

La mayoría de los lenguajes con bucle while() serán así. Otra cosa es que el lenguaje en cuestión añada otro método, como en Python:

Código
  1. for i in range(0,5):

Corrigeme si me equivoco pero entre los paréntesis de un bucle while debe haber un valor booleano. Por elemplo: veces!=0

Código
  1. int veces = 5;
  2. while(veces>0)
  3. {
  4. veces--;
  5. }
  6.  

El bucle se ejecuta 'mientras' el valor entre paréntesis sea mayor a 0.


Título: Re: Duda C# Bucle While.
Publicado por: ivancea96 en 18 Agosto 2015, 15:25 pm
Oh sí, efectivamente. La costumbre de que en C, C++ y otros se puede utilizar un entero, donde "0" representa "false", y otro número representa "true" por así decirlo.

En ese caso, quedaría:

Código
  1. int veces = 5;
  2. while(veces-- != 0){
  3.  
  4. }


Título: Re: Duda C# Bucle While.
Publicado por: Eleкtro en 18 Agosto 2015, 16:02 pm
en un bucle While se puede introducir las veces que se ejecuta el bucle como un bucle for por ejemplo?

¿Por qué quieres hacer algo así?.

Cómo su propio nombre indica, un búcle de tipo While realizará iteraciones mientras que la condición a evaluar devuelva true, es decir, mientras que el resultado de la evaluación sea cualquier valor distinto a 0, false.

Por ende, esto sería un búcle infinito:
Código
  1. while (true) {
  2. // ...
  3. }

Si quieres asignarle una cantidad determinada de iteraciones entonces puedes usar un contador cómo te ha mostrado @ivancea96 para ir disminuyendo su valor hasta que devuelva 0.

Saludos


Título: Re: Duda C# Bucle While.
Publicado por: FKT en 18 Agosto 2015, 16:05 pm
Okey esa era mi duda.

Gracias chicos ;-)