C#中如何确保随机数的唯一性

   2024-09-30 5560
核心提示:在C#中,要确保生成随机数的唯一性,可以使用以下方法:使用HashSet存储已生成的随机数:using System;using System.Collections

在C#中,要确保生成随机数的唯一性,可以使用以下方法:

使用HashSet存储已生成的随机数:
using System;using System.Collections.Generic;class Program{    static void Main()    {        HashSet<int> uniqueRandomNumbers = new HashSet<int>();        Random random = new Random();        while (uniqueRandomNumbers.Count < 10) // 生成10个唯一的随机数        {            int randomNumber = random.Next(1, 100); // 生成1到99之间的随机数            uniqueRandomNumbers.Add(randomNumber);        }        foreach (int number in uniqueRandomNumbers)        {            Console.WriteLine(number);        }    }}
使用Guid:
using System;class Program{    static void Main()    {        for (int i = 0; i < 10; i++)        {            Guid uniqueId = Guid.NewGuid();            Console.WriteLine(uniqueId);        }    }}

Guid是全局唯一标识符,它的生成算法可以确保在全球范围内的唯一性。但请注意,Guid并不是纯数字,而是一个包含字母和数字的字符串。

使用时间戳:
using System;class Program{    static void Main()    {        DateTime currentTime = DateTime.Now;        long uniqueTimestamp = currentTime.Ticks;        Console.WriteLine(uniqueTimestamp);    }}

时间戳是自1970年1月1日以来的毫秒数,因此它在全球范围内是唯一的。但是,如果在同一毫秒内生成多个时间戳,它们可能会重复。为了解决这个问题,可以将时间戳与其他信息(如计算机名称、进程ID等)结合起来。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号