Цикл через строки конкретного DataTable

Я понял это. Ясно, что когда я инициализировал указатель char, его нельзя изменить, но мы можем изменить его содержимое, если выделим для него память. Я думаю, что причина этой ошибки в том, что, когда я инициализирую ее с явным присвоением массива char, программа пытается получить доступ к неприемлемому блоку памяти и пытается изменить его, что является правильным, потому что инициализация - это просто отображение адреса константы в памяти указатель. И когда с динамическим распределением памяти в начале нет выделенной константы в памяти, выделенной для указателя, и функция strcpy прекрасно копировала символы.

27
задан chepe263 11 March 2019 в 20:34
поделиться

3 ответа

For Each row As DataRow In dtDataTable.Rows
    strDetail = row.Item("Detail")
Next row

существует также стенография:

For Each row As DataRow In dtDataTable.Rows
    strDetail = row("Detail")
Next row

Примечание, которое инструкции по стилю Microsoft для .NET теперь конкретно рекомендуют против использования венгерских префиксов типа для переменных. Вместо "strDetail", например, необходимо просто использовать "Деталь".

75
ответ дан Joel Coehoorn 28 November 2019 в 04:25
поделиться
Dim row As DataRow
For Each row In dtDataTable.Rows
    Dim strDetail As String
    strDetail = row("Detail")
    Console.WriteLine("Processing Detail {0}", strDetail)
Next row
1
ответ дан jason 28 November 2019 в 04:25
поделиться

Вы хотите циклично выполниться на.Rows и получить доступ к столбцу для строки как q ("столбец")

Просто:

        For Each q In dtDataTable.Rows
            strDetail = q("Detail")
        Next

Также удостоверяются, что проверили документ msdn на любой класс, который Вы используете + intellisense

использования
0
ответ дан eglasius 28 November 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: