private const string Source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; private void button1_Click(object sender, EventArgs e) { char[] chars = Source.ToCharArray(); char[] result = new char[10]; int len=chars.Length; Random random = new Random(); for (int i = 0; i < 10; i++) { int pos = random.Next(len); result[i] = chars[pos]; chars[pos] = chars[--len]; } this.textBox1.Text = new string(result); }
把源字符放到一个Collection中
0和一个Collection的Count间取随机数,然后用Collection的最后一位替换到刚才随机数索引中的位置,
重复10次上面的操作
private void button1_Click(object sender, EventArgs e)
{
char[] chars = Source.ToCharArray();
char[] result = new char[10];
int len=chars.Length;
Random random = new Random();
for (int i = 0; i < 10; i++)
{
int pos = random.Next(len);
result[i] = chars[pos];
chars[pos] = chars[--len];
}
this.textBox1.Text = new string(result);
}