用随机字符串ASP.NET替换行

时间:2014-11-22 19:34:25

标签: c# asp.net asp.net-mvc visual-studio-2010 visual-studio

我想用随机字符串替换文本文件中的多行。这是我的代码。

public static string Random(int ran)
{
        string _allowedChars = "abcdefghijkmnopqrstuvwxyz0123456789";
        Random randNum = new Random();
        char[] chars = new char[ran];
        int allowedCharCount = _allowedChars.Length;

        for (int i = 0; i < ran; i++)
        {
            chars[i] = _allowedChars[(int)((_allowedChars.Length) * randNum.NextDouble())];
        }

        return new string(chars);
}

protected void Button1_Click(object sender, EventArgs e)
{
        string filePath = "try2.txt";
        string[] lines = File.ReadAllLines(filePath);

        for (int i = 0; i < lines.Length; i += 2)
        {
            lines[i] = lines[i].Replace("1", Random(int.Parse("5")));
        }

        File.WriteAllLines(filePath, lines);
}

但它只生成一个随机字符串,并且每2行添加一次。

enter image description here

我想每2行生成不同的随机字符串。

我无法理解。

1 个答案:

答案 0 :(得分:1)

尝试创建Random randNum一次,而不是每次都重新创建它。

E.g。

static Random randNum = new Random();

public static string Random(int ran)
{
    ....
}

如果两者之间存在时差

Random randNum = new Random();

很小,很可能使用相同的种子。