Hola, mi duda es como puedo generar numero verdaderamente aleatorios en c#.
no crean que no conozco la clase Random pero he tenido algunos problemas,
miren: necesito generar un numero aleatorio de 1 a 4 asta ahi bien haciendolo de la siguiente manera:
Random r = new Random(DateTime.Now.Millisecond);
int num = r.Next(1,4);
bueno el rollo ocurre cuando quiero generar digamos 7 numeros aleatorios consecutivos todos dento de este mismo rango.
lo que hago es lo mismo de arriba pero dentro de un ciclo e imprimirlo en un label, pero obtengo una salida como esta: 3111111
.
no son totalmente aleatorios pues me genera numero respetidos consecutivos, alguien sabe como mas le puedo hacer...
Atentamente,
Juan Manuel Lombana
Medellín - Colombia
Mira si esto te sirve:
static void Main(string[] args)
{
int semilla;
int num = 7; //La cantidad de numeros que se representarán
Random r = new Random(DateTime.Now.Millisecond);
byte[] buffer = new byte[num];//Creamos un buffer de 7 posiciones (o las que quieras
r.NextBytes(buffer); //Rellenamos el buffer con numeros aleatorios
for (int i = 0; i < num; i++)
{
semilla = buffer[i] % 5; //Hacemos el Modulo del numero aleatorio para que no sobrepase el 4
Console.Write("{0} ", semilla);
}
Console.Read();
}
Un Saludo. ;)
Perfecto!!!, algunos se repiten pero no tan consecutivos... ;D ;D ;D
Atentamente,
Juan Manuel Lombana
Medellín - Colombia
En estos foros de S de cualquier lenguge, te contestarán y te meterán ejemploas hasta artarte. Es bueno saber este tipo de Web.
http://forums.microsoft.com/MSDN-ES/default.aspx?SiteID=11 (http://forums.microsoft.com/MSDN-ES/default.aspx?SiteID=11)