Невозможно получить доступ к строке 2d String Array в C # - PullRequest
0 голосов
/ 20 февраля 2012

Я беру данные в 2d строку в C #.Определено как ::

string[,] strValueBasic = new string[GridView1.Rows.Count,49];

Теперь я хочу, чтобы данные были взяты в DataRows и добавили эти строки в DataTable.

     for (int i = 0; i < GridView1.Rows.Count; i++)
                {
                    DataRow drRow = dtNew.NewRow();
                    drRow.ItemArray = strValueBasic[i];
                    dtNew.Rows.Add(drRow);
                }

Но я не могу получить доступ к этой 2d строкемассив в шаге

                    drRow.ItemArray = strValueBasic[i];

выдает ошибку как неправильное количество индексов внутри [], ожидаемое 2.

Я знаю, что требуется 2 индекса, но чем мне нужна вся строкаэтого массива строк, который будет заполнен внутри этого DataRow.

Также структура DataRow и String Array одинакова.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Если вы хотите назначить всю строку, ваш strValueBasic должен быть определен как string[][].Не двумерный массив, а массив массивов.Это также меняет инициализацию, каждый массив может иметь разный размер, поэтому вы должны создавать каждый отдельно.http://msdn.microsoft.com/en-us/library/2s05feca.aspx

0 голосов
/ 20 февраля 2012

Это потому, что strValueBasic является двумерным массивом, и вы пытаетесь получить к нему доступ, так как это одномерный массив.

 for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                DataRow drRow = dtNew.NewRow();
                drRow.ItemArray = strValueBasic[i, iSomeOtherValue];
                dtNew.Rows.Add(drRow);
            }

Обратите внимание iSomeOtherValue , вы что-то упустили!

...