Isso é genial; eu poderia ter usado isso alguns anos atrás. Estou postando aqui para manter seguro. Note que NÃO estou usando a classe random. A classe random não é verdadeiramente aleatória. É baseada em tempo. Tempo é previsível.
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 )
{
...
}
Autor: Chuck Conway é um Engenheiro de IA com quase 30 anos de experiência em engenharia de software. Ele constrói sistemas de IA práticos—pipelines de conteúdo, agentes de infraestrutura e ferramentas que resolvem problemas reais—e compartilha o que está aprendendo ao longo do caminho. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube e no SubStack.