可能的重复:
这是生成随机字符字符串的好方法吗? https://stackoverflow.com/questions/976646/is-this-a-good-way-to-generate-a-string-of-random-characters
如何在 C# 中生成随机 8 个字符的字母数字字符串? https://stackoverflow.com/questions/1344221/how-can-i-generate-random-8-character-alphanumeric-strings-in-c
这是我到目前为止所拥有的代码。
private void button1_Click(object sender, EventArgs e)
{
string rand1 = RandomString(5);
string rand2 = RandomString(5);
string rand3 = RandomString(5);
string rand4 = RandomString(5);
string rand5 = RandomString(5);
textBox1.Text = rand1 + "-" + rand2 + "-" + rand3 + "-" + rand4 + "-" + rand5;
}
private static Random random = new Random((int)DateTime.Now.Ticks);
private string RandomString(int Size)
{
StringBuilder builder = new StringBuilder();
char ch;
for (int i = 0; i < Size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
builder.Append(ch);
}
return builder.ToString();
}
但它只是创建一个 5 个字符的随机字符串。
我希望它创建一个由 5 个字符和整数组成的字符串。
我该怎么做?提前致谢!
使用输入数组从中提取值:
private static string RandomString(int length)
{
const string pool = "abcdefghijklmnopqrstuvwxyz0123456789";
var builder = new StringBuilder();
for (var i = 0; i < length; i++)
{
var c = pool[random.Next(0, pool.Length)];
builder.Append(c);
}
return builder.ToString();
}
或者(不可避免的)Linq 解决方案:
private static string RandomString(int length)
{
const string pool = "abcdefghijklmnopqrstuvwxyz0123456789";
var chars = Enumerable.Range(0, length)
.Select(x => pool[random.Next(0, pool.Length)]);
return new string(chars.ToArray());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)