相关疑难解决方法(0)

随机字符串生成器返回相同的字符串

我已经开发了一个随机字符串生成器,但它的行为并不像我希望的那样.我的目标是能够运行两次并生成两个不同的四个字符随机字符串.但是,它只生成一个四字符随机字符串两次.

这是代码和输出的示例:

private string RandomString(int size)
{
    StringBuilder builder = new StringBuilder();
    Random random = new Random();
    char ch;
    for (int i = 0; i < size; i++)
    {
        ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));                 
        builder.Append(ch);
    }

    return builder.ToString();
}

// get 1st random string 
string Rand1 = RandomString(4);

// get 2nd random string 
string Rand2 = RandomString(4);

// create full rand string
string docNum = Rand1 + "-" + Rand2;
Run Code Online (Sandbox Code Playgroud)

......输出看起来像这样:UNTE-UNTE ......但看起来应该像UNTE-FWNU

如何确保两个明显随机的字符串?

c# random

222
推荐指数
10
解决办法
29万
查看次数

为什么我在这段代码中不断获得两个相同的随机值?

可能重复:
为什么我的随机数生成器在C#中不是随机的?

我有以下代码:

        int a;
        int aa;

        Random aRand = new Random();
        Random aaRand = new Random();

        a = aRand.Next(20);
        aa = aaRand.Next(20);

        //if (a == aa)
        {
            Console.WriteLine(a + " " + aa);
            Console.ReadLine();
        }
Run Code Online (Sandbox Code Playgroud)

我假设aRand和aaRand是两个不同的值,但事实并非如此.我究竟做错了什么?我假设aRand和aaRand并不总是一样,但是它们一直都是一样的.

谢谢

c# random

1
推荐指数
1
解决办法
224
查看次数

标签 统计

c# ×2

random ×2