C# 随机数生成:Random 类用法

简介: Random类用于生成伪随机数,适用于游戏、验证码、测试等场景。通过静态实例避免重复创建,确保随机性。提供整数、小数、布尔值及指定长度的随机字符串生成方法,使用简便且高效。注意需复用实例防止种子重复导致随机数相同。

Random 类用于生成伪随机数,适合游戏、验证码、测试数据等场景。

public class RandomHelper
{
    // 静态Random实例(避免重复创建导致随机数相同)
    private static readonly Random _random = new Random();
    // 生成指定范围的随机整数(包含min,不包含max)
    public static int GetRandomInt(int min, int max)
    {
        if (min >= max) throw new ArgumentException("min必须小于max");
        return _random.Next(min, max);
    }
    // 生成随机小数(0.0到1.0之间)
    public static double GetRandomDouble()
    {
        return _random.NextDouble();
    }
    // 生成随机布尔值
    public static bool GetRandomBool()
    {
        return _random.Next(2) == 0;
    }
    // 生成随机字符串(包含字母和数字)
    public static string GetRandomString(int length)
    {
        if (length <= 0) return "";
        string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        char[] result = new char[length];
        for (int i = 0; i < length; i++)
        {
            result[i] = chars[_random.Next(chars.Length)];
        }
        return new string(result);
    }
}
// 调用示例
Console.WriteLine("随机整数(1-100):" + RandomHelper.GetRandomInt(1, 101));
Console.WriteLine("随机小数(0-1):" + RandomHelper.GetRandomDouble().ToString("F4"));
Console.WriteLine("随机布尔值:" + RandomHelper.GetRandomBool());
Console.WriteLine("6位随机字符串:" + RandomHelper.GetRandomString(6));
Console.WriteLine("8位随机字符串:" + RandomHelper.GetRandomString(8));
// 输出示例:
// 随机整数(1-100):45
// 随机小数(0-1):0.6789
// 随机布尔值:True
// 6位随机字符串:xY3z7Q
注意:Random 实例需复用,避免短时间内重复创建(否则种子相同,随机数相同)。
相关文章
|
1月前
|
设计模式 前端开发 Java
【Filter / Interceptor】过滤器(Filter)与拦截器(Interceptor)全方位对比解析(附底层原理 + 核心对比表)
本文系统梳理Filter与Interceptor的8大维度:从核心定位、底层原理到执行流程、场景选型。明确Filter属Servlet规范、容器级拦截,覆盖所有HTTP请求;Interceptor属Spring规范、MVC级拦截,专注业务请求且可注入Bean。附对比表、时序图、避坑指南与最佳实践。
420 10
|
9月前
|
API Python
免费网络北京时间API接口
本文介绍如何通过接口盒子的免费API获取当前北京时间,支持多种格式及POST/GET请求方式。需注册账号获取ID和KEY,适用于服务器时间同步、日志记录等场景。
3452 6
|
3月前
|
人工智能 监控 安全
一封“来自自己邮箱”的钓鱼邮件,如何绕过所有安全防线?微软揭示企业邮件配置盲区正成攻击温床
2025年,华南某金融科技公司遭遇“内部域名伪造”钓鱼攻击:员工收到来自自己邮箱的MFA更新邮件,实为攻击者利用SPF、DKIM、DMARC配置疏漏伪造。邮件显示“内部发送”,极具迷惑性,险致资金损失。微软披露,此类攻击全球频发,根源在于邮件认证链断裂。专家呼吁企业收紧DMARC策略、审计邮件路由,并建立“零信任邮件”文化,筑牢基础安全防线。
248 6
|
前端开发 小程序 JavaScript
微信小程序-Unhandled promise rejection TypeError: Cannot read property ‘get‘ of undefined
微信小程序-Unhandled promise rejection TypeError: Cannot read property ‘get‘ of undefined
|
存储
pnpm修改默认存储位置
pnpm修改默认存储位置
3072 0
C/C++ 关于double和float两种类型的区别
C/C++ 关于double和float两种类型的区别
1479 0
C/C++ 关于double和float两种类型的区别
|
安全 数据挖掘 API
解锁数据宝藏:Microsoft Graph API的统一数据革命
解锁数据宝藏:Microsoft Graph API的统一数据革命
743 1
|
消息中间件 数据采集 分布式计算
【数据采集与预处理】数据接入工具Kafka
【数据采集与预处理】数据接入工具Kafka
【数据采集与预处理】数据接入工具Kafka

热门文章

最新文章

下一篇
开通oss服务