我正在研究一个随机生成代码(比如随机数)的需求。代码应为字母数字,但应仅允许(A-Z0-9)。用户可以指定代码中的字符数。代码长度可以为4-9个字符,具体取决于用户输入。
代码的一个例子是'AG43','XFR4A5UU0‘。
编辑:-我正在寻找解决这个问题的最佳方法。我正在考虑生成11到99范围内的2位随机数。如果数字在65和90之间( A-z的ascii ),我将使用它的ascii,否则我将把生成的数字附加到我的代码字符串中。
请给我建议。
发布于 2010-12-07 02:29:01
var number_of_chars = 4;
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new string(
Enumerable.Repeat(chars, number_of_chars)
.Select(s => s[random.Next(s.Length)])
.ToArray()); 发布于 2010-12-07 02:33:03
public string GetRandomString(int length)
{
var newBuffer = new byte[length];
if (length <= 0)
return null;
// This was used for a password generator... change this how every needed
var charSet = ("ABCDEFGHJKLMNPQRSTUVWXYZ" +
"abcdefghijkmnprstuvxyz" +
"23456789").ToCharArray();
using (var rng = RandomNumberGenerator.Create())
{
rng.GetBytes(newBuffer);
var newChars = newBuffer.Select(b => charSet[b % charSet.Length]).ToArray();
return new string(newChars);
}
}https://stackoverflow.com/questions/4369629
复制相似问题