Исключение типа System.IndexOutOfRangeException

200
25 марта 2018, 18:22

Нужно считать массив из любого числа элементов, сами числа могут быть как целыми, так и с запятой. При запуске выходит исключение System.IndexOutOfRangeException в этой строке:

arr[i, j] = row[j];

Лишних пробелов вроде нет. Ps я начинающий программист

private void Form1_Load(object sender, EventArgs e)
{
    int size = 4;
    string[] lines = File.ReadAllLines(@"D:\учеба\КОЭД\data.txt").Take(10).ToArray();
    int[,] arr = new int[size, size];

    for (int i = 0; i < size; i++)
    {
        int[] row = lines[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(Int32.Parse).ToArray();
        for (int j = 0; j < size; j++)
        {
            arr[i, j] = row[j];
        }
    }
    // вывести в текстбокс
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            textBox1.Text += arr[i, j].ToString() + "\t";
        }
        textBox1.Text += Environment.NewLine;
    }
    // посчитать среднее
    MessageBox.Show(arr.Cast<int>().Average().ToString());
    }
  }
}
Answer 1
for (int i = 0; i < size; i++)
{
    int[] row = lines[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(Int32.Parse).ToArray();
    for (int j = 0; j < size && j < row.Length; j++)
    {
        ...
READ ALSO
Выбор времени для выключения ПК C#

Выбор времени для выключения ПК C#

Делаю приложение на C#, которое будет выключать пк после выбора времени, через которое выключить, и нажатия на кнопкуЯ смог реализовать это...

176
Смена мест элементов массива

Смена мест элементов массива

Идея программы - замена порядка номеров в массиве на обратныйНо в итоге выдает [undefined, 1, 3, 4, 5]

233
Chrome вытянуть ip

Chrome вытянуть ip

ЗдравствуйтеЕсть расширения для браузера хром с поддержкой изменения ip

181