简体   繁体   中英

generate 13 digit unique random number in c#

Modify the follwing code to generate 13 digit unique random number in c#

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

Very malformed question

IF your problem is that maxValue cannot have 13 digit, a quick workaround could be concatenate 2 strings

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

For 13 digits we need long variable but Random.Next method does not support long dataType it only support Integer data type. Hence, we have to do something tricky.

Check the below code to generate generate 13 digit number.

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

Note: I have used ToString("D13") to get the 13 digits value.

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;
    }
    Random generator = new Random();
    string s = "380003562";
    s += generator.Next(0, 0000000).ToString("D"+(13-s.Length).ToString());

With this code, if you are using an existing number, you can quickly bring it to 13 digits or any digit number you want.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM