首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#串发生器

C#串发生器
EN

Stack Overflow用户
提问于 2013-12-27 08:04:12
回答 2查看 439关注 0票数 2

我是C#的新手,我想知道你们能不能帮我个忙。首先,我正在做一个相当简单的发电机。我希望每次我按“生成”按钮时,它都会给我一个默认的字符串。(字符串是00000001008)然后我想在它的末尾添加一个随机数字/字母,这个数字/字母必须是3-9/ add。然后,我想要另一个字符串,由字母和/或数字组成,以0-9和A为单位。我有一个正常的概念,下面是我到目前为止的情况:

代码语言:javascript
复制
public string GenerateRandomCode(ref int length)
{
    string charPool = "ABCDEF1234567890";
    StringBuilder rs = new StringBuilder();
    Random random = new Random();

    for (int i = 0; i < length; i++)
    {
        rs.Append(charPool[(int)(random.NextDouble() * charPool.Length)]);
    }
    return rs.ToString();
}

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = "00000001008";
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-27 08:09:14

更改为(假设您的随机类工作):

代码语言:javascript
复制
public string GenerateRandomCode(int length)
{
    string charPool = "ABCDEF1234567890";
    StringBuilder rs = new StringBuilder();
    Random random = new Random();

    for (int i = 0; i < length; i++)
    {
        rs.Append(charPool[(int)(random.NextDouble() * charPool.Length)]);
    }
    return rs.ToString();
}

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = "00000001008" + GenerateRandomCode(1);
}

您可以生成一个十六进制字符串,但我认为用它(这将满足生成0-9,A-F-11字符长的要求):

代码语言:javascript
复制
textBox1.Text = String.Format("{0:X11}", new Random().Next(0x100000000000))

或者(应该给出"00000001008“+ x3-xF) .

代码语言:javascript
复制
public string GenerateRandomCode()
{
    return "00000001008" + string.Format("{0:X1}", new Random().Next(12) + 3));
}
private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = GenerateRandomCode();
}
票数 1
EN

Stack Overflow用户

发布于 2013-12-27 08:37:51

代码语言:javascript
复制
public string GenerateRandomCode(int length)
{
    var chars = "ABCDEF1234567890";
    var random = new Random();
    return new string(
        Enumerable.Repeat(chars, length)
              .Select(s => s[random.Next(s.Length)])
              .ToArray()
    );
}

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = GenerateRandomCode(11);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20797129

复制
相关文章

相似问题

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