首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成AlphaNumeric的随机序列

生成AlphaNumeric的随机序列
EN

Stack Overflow用户
提问于 2021-12-30 10:00:07
回答 1查看 69关注 0票数 0

我想要一个代码来生成字母数字字符序列,如LLNNLLNNLL,其中L是字母,N是数字。例如,如果长度为5,则序列为LLNNL,如果长度为6,则序列为LLNNLL,如果为7,则为LLNNLLN。

代码语言:javascript
复制
string alphabets = "ABCDEFGHIJKLMNPQRSTUVWX";
int length = model.VALUE_INT;
string result = "";
for (int i = 0; i < length; i++)
{
    int next = _random.Next(23);
    result += alphabets.ElementAt(next);
    result += _randomNum.Next(1, 9);
}

这是我尝试过的,但条件并不令人满意。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-30 10:40:08

对于输出字符串的每个位置(i值),您需要检查是否需要一个字符或整数。

由于模式每4个位置重复一次,所以可以使用模运算符实现这一点:

代码语言:javascript
复制
for (int i = 0; i < length; i++)
{
    switch (i % 4)
    {
        case 0:
        case 1:
            int next = _random.Next(23);
            result += alphabets.ElementAt(next);
            break;

        case 2:
        case 3:
            result += _randomNum.Next(1, 9);
            break;
    }
}

或者另一种可能性:添加LLNN块,然后将结果截断到所需的长度.

代码语言:javascript
复制
for (int i = 0; i <= (length/4); i++)
{
    result += alphabets.ElementAt(_random.Next(23));
    result += alphabets.ElementAt(_random.Next(23));
    result += _randomNum.Next(1, 9); 
    result += _randomNum.Next(1, 9); 
}
result = result.Substring(0,length);

如果您想改进这些行,可以使用StringBuilder

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70530043

复制
相关文章

相似问题

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