c#生成随机数示例代码

c#生成 随机数 http://www.jbxue.com/tags/suijishu.html 示例代码。
/// 构造随机数 种子
static int GetRandomSeed()
{
            byte[] bytes = new byte[4];
            System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
            rng.GetBytes(bytes);
            return BitConverter.ToInt32(bytes, 0);
} 
///  生成随机 数
static int rnd()  
{     
            Random ran = new Random(GetRandomSeed());         
            int cnt = ran.Next(0,59);
            return cnt;
 }


### 在 C#生成随机数代码示例 以下是一些在 C#生成随机数的完整代码示例,涵盖不同场景和需求。 #### 示例 1:使用 `Random` 类生成指定范围内的随机整数 ```csharp Random random = new Random(); int randomNumber = random.Next(1, 101); // 生成从1到100(不包括101)的随机整数[^1] Console.WriteLine($"生成随机数是: {randomNumber}"); ``` #### 示例 2:使用加权种子生成更安全的随机数 通过结合 `RNGCryptoServiceProvider` 提供的安全随机数生成器,可以创建一个更高质量的随机数种子。 ```csharp static int GetRandomSeed() { byte[] bytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); rng.GetBytes(bytes); return BitConverter.ToInt32(bytes, 0); } static int GenerateSecureRandomNumber(int minValue, int maxValue) { Random ran = new Random(GetRandomSeed()); return ran.Next(minValue, maxValue); // 生成指定范围内的随机数[^2] } Console.WriteLine($"生成的安全随机数是: {GenerateSecureRandomNumber(1, 101)}"); ``` #### 示例 3:生成随机数列表 以下代码展示了如何生成一个包含多个随机数的列表。 ```csharp public List<int> GenerateRandomNumberList(int count, int minValue, int maxValue) { List<int> numbers = new List<int>(); Random rd = new Random(); // 初始化一个新的 Random 实例[^3] for (int i = 0; i < count; i++) { var number = rd.Next(minValue, maxValue); // 生成一个随机数[^3] numbers.Add(number); } return numbers; } var randomNumbers = GenerateRandomNumberList(6, 1, 50); Console.WriteLine("生成随机数列表为:"); foreach (var num in randomNumbers) { Console.Write(num + " "); } ``` #### 示例 4:生成随机浮点数 如果需要生成一个随机浮点数,可以使用 `NextDouble` 方法。 ```csharp Random random = new Random(); double randomFloat = random.NextDouble(); // 生成一个介于 0.0 和 1.0 之间的随机浮点数 double scaledRandomFloat = randomFloat * 100; // 将其缩放到 0 到 100 的范围 Console.WriteLine($"生成的随机浮点数是: {scaledRandomFloat:F2}"); ``` ### 注意事项 - 使用 `Random` 类时,确保不要在循环中频繁实例化新的 `Random` 对象,因为这可能导致生成相同的随机数序列[^3]。 - 如果需要更高安全性的随机数,例如用于加密或敏感数据处理,推荐使用 `RNGCryptoServiceProvider` 或其他安全随机数生成器[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值