在C#中,生成随机数的高效方法是使用System.Random类或者System.Security.Cryptography.RNGCryptoServiceProvider类
System.Random类:using System;class Program{ static void Main() { // 创建一个Random实例 Random random = new Random(); // 生成一个0到99之间的随机整数 int randomNumber = random.Next(100); Console.WriteLine("随机数: " + randomNumber); }}使用System.Security.Cryptography.RNGCryptoServiceProvider类:using System;using System.Security.Cryptography;class Program{ static void Main() { // 创建一个RNGCryptoServiceProvider实例 RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); // 生成一个0到99之间的随机整数 int randomNumber = GetRandomInt(rng, 100); Console.WriteLine("随机数: " + randomNumber); } static int GetRandomInt(RNGCryptoServiceProvider rng, int maxValue) { if (maxValue <= 0) throw new ArgumentOutOfRangeException(nameof(maxValue)); int result; byte[] randomBytes = new byte[4]; do { rng.GetBytes(randomBytes); result = BitConverter.ToInt32(randomBytes, 0) & Int32.MaxValue; } while (result >= maxValue * (Int32.MaxValue / maxValue)); return result % maxValue; }}注意:RNGCryptoServiceProvider类生成的随机数比System.Random类更加安全,但可能会稍微慢一些。如果你需要生成大量的随机数,可以考虑使用RNGCryptoServiceProvider类。




