Avatar ·

如何在 C# 中生成由字母和数字组成的随机字符串?

大家好!我是一名 C# 初学者开发者,正在编写一个用于生成临时密码的小应用程序。我需要创建由拉丁字母(a-z、A-Z)和数字(0-9)组成的随机字符串。字符串长度应该是可变的,例如 8 或 12 个字符。 我尝试使用标准的 Random 类,但遇到了问题:生成的字符串不够随机,有时在快速调用方法时甚至会重复。以下是我当前的代码: ```csharp public static string GenerateString(int length) { string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; string result = ""; Random random = new Random(); for (int i = 0; i < length; i++) { int index = random.Next(chars.Length); result += chars[index]; } return result; } ``` 这个方法可以工作,但我注意到如果连续多次调用它,前几个字符经常相同。另外,我担心的是每次调用都创建一个新的 Random 实例。