• 关于随机数


    通常情况下,很多人喜欢用一下的方式产生随机数,然后得到的随机数都是一样的,代码如下。
                StringBuilder str = new System.Text.StringBuilder();
                for (int i = 0; i < 600; i++) {
                    str.AppendLine((new Random().NextDouble()*100).ToString());
                }

    后来发现稍微改一下,就可以实现真正的随机

    Random rd = new Random();
                StringBuilder str = new System.Text.StringBuilder();
                for (int i = 0; i < 600; i++) {
                    str.AppendLine((rd.NextDouble()*100).ToString());
                }

    只有一点点的变化,就可以实现产生不同的随机数。

    附上另外一种方法:

    public static double GetRandom()
            {
                long tick = DateTime.Now.Ticks;
                Random ran = new Random(GetRandomSeed());
                return ran.NextDouble();
            }

            private 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);
            }

    发现还是:

    Random rd = new Random();
                StringBuilder str = new System.Text.StringBuilder();
                for (int i = 0; i < 600; i++) {
                    str.AppendLine((rd.NextDouble()*100).ToString());
                }

    这种方式比较好。

  • 相关阅读:
    VC笔记
    安卓开发,调用系统相册或相机选择图片
    安卓gradle时报错"ERROR: Plugin with id 'com.android.application' not found."
    安卓开发 利用百度识图api进行物体识别(java版)
    安卓使用讯飞SDK
    《构建之法》读书笔记1
    安卓开发 利用百度识图api进行物体识别
    安卓使用讯飞sdk报错
    Android webview学习
    open failed: EACCES (Permission denied)
  • 原文地址:https://www.cnblogs.com/lorgine/p/2133767.html
Copyright © 2020-2023  润新知