PDA

View Full Version : خطای Index was outside the bounds of the array



nimnegah
جمعه 10 آبان 1387, 16:05 عصر
برنامه من error زیرو میده به نظر شما مشکل چیه؟...



privatevoid button1_Click(object sender, EventArgs e)
{

Random r = newRandom();
int n = Convert.ToInt32(textBox2.Text);
int l = Convert.ToInt32(textBox1.Text);
dataGridView1.ColumnCount = n;
dataGridView1.RowCount = l;



int[,] a = newint[n, l];
for (int i = 0; i <= n; i++)
{
for (int j = 0; j < l; j++)
a[i, j] = r.Next() % 2;
}

for (int i = 0; i < n; i++)
{
for (int j = 0; j < l; j++)
{
dataGridView1.Rows[i].Cells[j].Value = a[i, j].ToString();
}
}
}



error:


{"Index was outside the bounds of the array."}

MostafaAhmadi
جمعه 10 آبان 1387, 16:11 عصر
خط مورد نظر رو بصورت زیر تغییر بده
کد شما


for (int i = 0; i <= n; i++)


کد صحیح


for (int i = 0; i < n; i++)


موفق باشید.

Salar Ashgi
جمعه 10 آبان 1387, 18:28 عصر
سلام ، همانطور که می دانید برای یه آرایه n عنصری ، اندیس ها از 0 تا n-1 میباشد ، پس باید نوشت :


for(int i=0;i<n;i++)

یا :


for(int i=0;i<=n-1;i++)

پیغام خطای شما برای این است که اندیس شما خارج از range مورد نظر ، میشود !!!

موفق و پیروز باشید !!!

nimnegah
جمعه 10 آبان 1387, 19:12 عصر
حالا بخواهیم در grid view رنگ بک گراند یک سلول رو عوض کنیم چه کدی رو باید بنویسیم..

من می خوام رنگ سلول زیر رو عوض کنم...


dataGridView1.Rows[t].Cells[s]