首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在随机代码生成器方面需要帮助

在随机代码生成器方面需要帮助
EN

Stack Overflow用户
提问于 2010-12-07 02:24:00
回答 2查看 424关注 0票数 2

我正在研究一个随机生成代码(比如随机数)的需求。代码应为字母数字,但应仅允许(A-Z0-9)。用户可以指定代码中的字符数。代码长度可以为4-9个字符,具体取决于用户输入。

代码的一个例子是'AG43','XFR4A5UU0‘。

编辑:-我正在寻找解决这个问题的最佳方法。我正在考虑生成11到99范围内的2位随机数。如果数字在65和90之间( A-z的ascii ),我将使用它的ascii,否则我将把生成的数字附加到我的代码字符串中。

请给我建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-07 02:29:01

代码语言:javascript
复制
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()); 
票数 9
EN

Stack Overflow用户

发布于 2010-12-07 02:33:03

代码语言:javascript
复制
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);
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4369629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档