【发布时间】:2014-08-05 15:42:04
【问题描述】:
我已经阅读了与我类似的问题,但还没有找到解决方案来指出我的问题,或者让我更容易找到它。
我知道该错误表明我正在尝试从我的循环中获取某些内容,请您指出我哪里出错并给出任何指示以更改什么等。
public int passSize;
public string availableChars = "AaBbCcDdEeFfGgHhIuJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!£$%^&*()_-+=;:'@#~{[]}/?.>,<|¬`";
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "";
for (int i = 1; i < 9; i++)
{
if (passSize == 0)
MessageBox.Show("You must select a password size", "Error");
else if (passSize == i)
{
StringBuilder sb = new StringBuilder("");
Random random = new Random();
int r = random.Next(0, availableChars.Length - 1);
sb[i] = availableChars[r];
textBox1.Text = sb.ToString();
}
}
}
【问题讨论】:
-
对不起,我应该更准确,这是问题发生的地方 sb[i] = availableChars[r];
-
阅读
StringBuilder的文档。你应该使用它的Append方法。sb[i]不正确 - 尚无元素i存在。