2015-11-22 91 views
2

有人可以幫助這段代碼有一個例外。它總是在[2,0]索引上堆疊。我無法弄清楚如何解決這個問題。我在下面添加了一個截圖。索引超出範圍

private Matrix GridToMatrix(DataGridView grid) 
{ 
    var matrix = new double[grid.RowCount, grid.ColumnCount]; 

    for (int i = 0; i < grid.RowCount; i++) 
    { 
     for (int j = 0; j < grid.ColumnCount; j++) 
     { 
      matrix[i, j] = Convert.ToSingle(grid[i, j].Value); 
     } 
    } 

    return new Matrix(matrix); 
} 

enter image description here

+6

將'grid [i,j]'更改爲'grid [j,i]'。 –

+0

@AlexanderPetrov你是對的,但添加一個解答問題的答案 – Steve

+0

尼斯按鈕名稱 – galakt

回答

0

這裏的問題是DataGridViewconfusing indexing mechanism

索引的DataGridView就像[col, row],而矩陣索引是[row, col]

通過改變grid[i, j]grid[j, i]問題就會解決。