首页 > 编程语言 >【C#】Random生成随机数重复的问题

【C#】Random生成随机数重复的问题

时间:2023-04-18 11:23:15浏览次数:50  
标签:C# Random mid int ran static 随机数 new

    /// <summary>
    /// 根据中位数返回区间随机数
    /// </summary>
    /// <param name="mid"></param>
    /// <returns></returns>
    private static int GetRandom(int mid)
    {
        //1.
        //Random ran = new Random();

        //2.
        //Random ran = new Random(new Guid().GetHashCode());

        //3.
        //long tick = DateTime.Now.Ticks;
        //Random ran = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));

        //4.(*有效方法)
        //Thread.Sleep(100);
        //Random ran = new Random();

        //5.(*有效方法)
        Random ran = new Random(GetRandomSeed());

        return ran.Next(mid -5,mid +10);
    }

    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 void Main(string[] args)
 {

      int count = 0;
     Random ran = new Random();
     int mid = 33;
     while (count < 50)
     {
         Console.WriteLine(GetRandom(mid));
         count++;
     }
     Console.ReadKey();
 }

 

来源:https://blog.csdn.net/shuai_wy/article/details/78606175

标签:C#,Random,mid,int,ran,static,随机数,new
From: https://www.cnblogs.com/Mars-0603/p/17328909.html

相关文章

  • 如何借助无线通讯终端实现组态王与PLC之间通信?
    本方案是基于ModbusRTU协议下实现的1主多从自组网无线通信形式,主站为组态王,从站为两台三菱FX5UPLC。在工厂里,组态王和plc所处位置距离较为分散,重新铺设电缆线工期长,成本高,故采用日系PLC专用无线通讯终端DTD435MC,作为实现无线通讯的硬件设备,来解决组态王与PLC之间的通讯问题。无线......
  • Autodesk Flame 2024 for mac(高级 3D 视觉效果) v2024激活版
    AutodeskFlame2024中文版提供用于快速、交互式3D视觉效果、精加工、合成、高级图形、颜色分级、整合、编辑和外观开发的工具。3D合成(动作)结合了传统2D合成的交互速度和强大的3D视觉效果。包括会话中艺术家的WYSIWYG预览。Flame2024中文版功能特色基于节点的合成(批处理......
  • C语言函数大全-- k 开头的函数
    C语言函数大全本篇介绍C语言函数大全--k开头的函数1.kcalloc1.1函数说明函数声明函数功能void*kcalloc(size_tn,size_tsize,gfp_tflags);它是Linux内核中的一个函数,用于在内核空间分配一块连续的指定大小的内存,它与标准库函数calloc()的功能类似。......
  • 低代码开发重要工具:私有化部署的jvs-logic的设计与价值
    逻辑引擎介绍逻辑引擎是一种能够处理逻辑表达式的程序,它能够根据用户输入的表达式计算出表达式的值。在实际应用中,逻辑引擎通常被用于处理规则引擎、决策系统、业务规则配置等领域,具有广泛的应用前景。逻辑引擎如下图所示,在业务系统中存在各种的业务触发的动作,例如提交一个申请、回......
  • ERROR 1045 (28000): Access denied for user '-root'@'localhost' (using password:
    以下是cmd的操作(重启服务,修改my.ini文章下面有my.ini配置) 当修改密码为123456是sqlyog连接成功修改为root时连接报老错误,又修改为123456在修改为root就连接正常了MicrosoftWindows[版本10.0.18363.1139](c)2019MicrosoftCorporation。保留所有权利。C:\ProgramFiles......
  • eToro与Twitter $Cashtags合作进行股票、ETF交易
    据天眼君了解,近期专注于社交交易的在线经纪商eToro将与Twitter合作,合作目的是使Twitter用户能够在使用新的$Cashtags功能时,立即看到更多的股票、加M货币和其他资产的实时价格。比如使用$现金标签符号搜索的Twitter用户目前可以看到少数金融资产的实时价格图表。随着eToro合作伙伴关......
  • cargo rustc
    RUSTC_BOOTSTRAP=1如果需要在稳定版编译器上执行一些夜间发布功能,可以设置该环境变量。$cargorustc---Zunpretty=expandedCompilingxxxv0.1.0(F:\xxx)error:theoption`Z`isonlyacceptedonthenightlycompiler$RUSTC_BOOTSTRAP=1cargorustc---Zunp......
  • PyTorch 深度学习实用指南:1~5
    原文:PyTorchDeepLearningHands-On协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c一、深度学习演练和PyTorch简介目前,有数十种深度学习......
  • 将用户从docker组移除
    将用户从docker组移除:gpasswd-dec2-userdocker1.使用命令gpasswd删除用户要将用户从一个组中移除,需要先确定用户的帐号,然后查看要删除的组名,使用命令gpasswd-d即可实现将用户从组中移除。例如,要将用户“alice”从组“test”中移除,可以运行以下命令:gpasswd-dalicetest2......
  • UBantu 无法运行 Ganache 解决方案
    问题描述直接在UBantu上执行ganache-2.5.4-linux-x86_64.AppImage程序可能因为权限问题而无法运行解决办法可以将ganache-2.5.4-linux-x86_64.AppImage进行解压,如下:$./ganache-2.5.4-linux-x86_64.AppImage--appimage-extract解压以后会创建squashfs-root文件夹,......