快速生成大量指定位數的不重複隨機整數

快速生成50W個16位的不重複的隨機整數dom

經測試,生成50W個不到1秒,500W兩秒左右,1000W以上的話可能會內存溢出測試

            Random rnd = new Random();
            HashSet<long> hs = new HashSet<long>();
            for (int i = 0; i < 500000; i++)
            {
                long l = (long)((rnd.NextDouble() + rnd.Next(1, 9)) / 10 * 9999999999999999);
                if (!hs.Add(l))
                    i--;
            }
            Console.ReadLine();

 

用來控制生成的小數爲0.1~0.999999之間spa

(rnd.NextDouble() + rnd.Next(1, 9)) / 10
相關文章
相關標籤/搜索