我是C#的新手,我想知道你们能不能帮我个忙。首先,我正在做一个相当简单的发电机。我希望每次我按“生成”按钮时,它都会给我一个默认的字符串。(字符串是00000001008)然后我想在它的末尾添加一个随机数字/字母,这个数字/字母必须是3-9/ add。然后,我想要另一个字符串,由字母和/或数字组成,以0-9和A为单位。我有一个正常的概念,下面是我到目前为止的情况:
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";
}发布于 2013-12-27 08:09:14
更改为(假设您的随机类工作):
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字符长的要求):
textBox1.Text = String.Format("{0:X11}", new Random().Next(0x100000000000))或者(应该给出"00000001008“+ x3-xF) .
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();
}发布于 2013-12-27 08:37:51
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);
}https://stackoverflow.com/questions/20797129
复制相似问题