Código: Distribución Aleatoria Ponderada
6 de octubre de 2010 • 1 min de lectura

Esto es genial; podría haber usado esto hace un par de años. Lo publico aquí para guardarlo de forma segura. Nota que NO estoy usando la clase random. La clase random no es verdaderamente aleatoria. Está basada en tiempo. El tiempo es predecible.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] result = new byte[8];
rng.GetBytes(result);
double rand = (double)BitConverter.ToUInt64(result, 0) / ulong.MaxValue;
//40 percent chance of being selected.
if (rand > 0.40d )
{
...
}
↑ Volver arriba También te puede gustar
- En una Aplicación de Página Única, ¿Debería procesar en el Cliente o en el Servidor? 2 min de lectura
- Refactorización de Código 6 min de lectura