Generar números aleatorios con C#

Hola a todos, hoy os voy a enseñar a como generar números aleatorios con C Sharp.

Podemos generar números aleatorios con la clase Random.

Primero, creamos una instancia de la clase Random.

Después, usamos el método Next, indicando entre paréntesis el mínimo y el máximo que queremos.

Por ejemplo:


using System;

namespace prueba
{
	class MainClass
	{
		public static void Main (string[] args)
		{

			Random r= new Random ();

			//Genera un numero entre 10 y 100 (101 no se incluye)
			Console.WriteLine(r.Next (10,101));

			Console.ReadLine ();
		}

	}
}

Podemos generar varios números en un mismo bucle. Lo vemos:


using System;

namespace prueba
{
	class MainClass
	{
		public static void Main (string[] args)
		{

			Random r= new Random ();

			for (int i=0;i<10;i++){

				//Genera un numero entre 10 y 100 (101 no se incluye)
				Console.WriteLine(r.Next (10,101));

			}

			Console.ReadLine ();
		}

	}
}

Con Next, también podemos indicar solo el máximo (entre 0 y el máximo) o sin parámetros, generando un número aleatorio sin ningún límite.

También tenemos NextDouble y NextBytes.

Para NextBytes necesitamos un array de bytes como parámetro. Para NextDouble, solo genera entre 0.0 y 1.0, pero podemos hacer que genere el número que deseemos. Lo podemos con esta fórmula, r.NextDouble()*(minimo-(maximo+1))+(maximo+1).

Veamos un ejemplo:


using System;
using System.Linq;
namespace prueba
{
	class MainClass
	{
		public static void Main (string[] args)
		{

			Random r= new Random ();

			for (int i=0;i<10;i++){

				//Genera un numero entre 10 y 100 con decimales
				Console.WriteLine(r.NextDouble()*(10-(101))+(101));

			}

			Console.ReadLine ();
		}

	}
}

Espero que os sea de ayuda. Si tenéis dudas, preguntad, estamos para ayudarte.

Compartir

1 comentario

  1. kewin alejandro

    es muy buena la información pero ser mas especifico en las explicaciones del tema

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *