索引超出数组的界限 C#

来源:百度知道 编辑:UC知道 时间:2024/09/20 02:33:36
private void btnSearch_Click(object sender, EventArgs e)
{
SqlCommand cmd = null;
SqlDataReader sdr=null;
try
{
string sql = "select Answer from question where subjectid=8";
cmd = new SqlCommand(sql, DBHelper.conn);
DBHelper.conn.Open();
sdr = cmd.ExecuteReader();
if (!sdr.HasRows)
{
MessageBox.Show("数据库中无正确答案!!");
}
else
{

while (sdr.Read())
{
for (int i = 1; i < Common.CorrectAnswer.Length; i++)
{
Common.CorrectAnswer[Common.Index] = sdr["Answer"].ToString();

for (int i = 1; i < Common.CorrectAnswer.Length; i++)
估计是这个问题,用message看看他的length到底是多少
还有就是Common.Index

for (int i = 1; i < Common.CorrectAnswer.Length; i++)
{
Common.CorrectAnswer[Common.Index] = sdr["Answer"].ToString();
Common.Index++;
}
这句话不对你既然循环了 i,干嘛里面又用Common.Index?
Common.Index的初始值是多少?
另外c#数组是从0开始而不是1

for(int i=0;i<common.correctAnswer.Length;i++)
在c#中数组下标都是从0开始计算的