public double ChooseDouble() { byte[] randomData = new byte[sizeof(int)]; Chooser.randomNumberGenerator.GetBytes(randomData); return (double)BitConverter.ToUInt32(randomData, 0) / ((ulong)uint.MaxValue + 1); }