在C#中生成13位唯一的随机数

时间:2019-11-19 11:34:50

标签: c#

修改以下代码以在c#中生成13位唯一的随机数

public static string GenerateUniqueRandomNumbers()
    {
        Random generator = new Random();
        String r = generator.Next(0, 1000000).ToString("D6");
        if (r.Distinct().Count() == 1)
        {
            r = GenerateUniqueRandomNumbers();
        }
        return r;
    }

3 个答案:

答案 0 :(得分:0)

格式错误的问题

如果您的问题是maxValue不能包含13位数字,则快速的解决方法是将2个字符串连接起来

    String r = generator.Next(0, 1000000).ToString("D6");
    r += generator.Next(0, 10000000).ToString("D7");

答案 1 :(得分:0)

对于13位数字,我们需要long变量,但是Random.Next方法不支持long dataType,它仅支持Integer数据类型。因此,我们必须做一些棘手的事情。

检查以下代码以生成生成13位数字。

    Random generator = new Random();
    String r = generator.Next(0, 999999).ToString("D13");

注意:我已经使用ToString(“ D13”)来获取13位数字的值。

答案 2 :(得分:0)

public static string GenerateUniqueRandomNumbers()
    {
        Random generator = new Random();
        String r = generator.Next(0, 1000000).ToString("D6");
        r += generator.Next(0, 10000000).ToString("D7");
        if (r.Distinct().Count() == 1)
        {
            r = GenerateUniqueRandomNumbers();
        }
        return r;
    }