随机字符串c#[复制]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

这是我的代码。我不明白为什么循环循环时n变量不会改变。现在它只是写第一个随机字母并做十次,而不是每次循环都是随机的。

            string[] alfa = new string[16]{
                "a", "b","c","d","e","f","g","h","i","j","k","l","m","n","o","p"
            };

            using (var tw = new StreamWriter(@"../../data/" + 
             NewUsername.Text + "," + NewPassword.Text + "/ReFectorPassword.txt", true))
            {

                for (var i = 0; i < 10; i++)
                {

                    Random r = new Random();
                    int n = r.Next(16);

                    randomString = alfa[n];
                    tw.Write(randomString );
                }

            }
c# string random
1个回答
-1
投票

一个技巧是通过将seed添加到变量DateTime.Now.Ticks来手动创建i

Random r = new Random((int)DateTime.Now.Ticks + i);
© www.soinside.com 2019 - 2024. All rights reserved.