你如何创建一个不在列表中的唯一随机数?

时间:2013-11-16 17:41:29

标签: c#

我正在尝试创建一个方法,将一个唯一的随机数存储到一个类中,而我检查它是否唯一的方法是查看包含int,string和date的列表。我只是想你会如何只搜索列表的内容。

2 个答案:

答案 0 :(得分:0)

您可以使用guid,它基于您的计算机ID和日期。根据定义,每次都是一个唯一的字符串。

使用Guid.NewGuid()

如果它只是数字,你可以使用像here这样的数学函数,然后使用当前日期限制我们可能的数字,并使用随机函数生成你的唯一数字。

您可以在c#中使用此DateTime.Ticks来实现目标。

答案 1 :(得分:0)

使用Math.Random类。看到这里我使用这个类来生成密码。您可以指定它应支持的数据。如果只需要整数,则可以指定(1到9和0)。这是一个例子。

    private string CreatePassword(int length)
    {
        string valid = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@#$";
        string res = "";
        Random rnd = new Random();
        while (0 < length--)
            res += valid[rnd.Next(valid.Length)];
        return res;
    }

    public void InitializeData()
    {
        string password = CreatePassword(6);
    }