DataTable.DefaultView - требуется пояснение C # - PullRequest
0 голосов
/ 26 февраля 2009

Вот код, который меня немного беспокоит ..

DataTable dt=GetDataTable();
for(int i=0<dt.Rows.Count;i++)
{
   string Name=dt.DefaultView[i].Row["FirstName"].ToString()
}

Мне нужно объяснение этого, что на самом деле dt.DefaultView [i] означает здесь?

Ответы [ 2 ]

1 голос
/ 26 февраля 2009

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

С вашим кодом строка:

string Name = dt.Rows[i]["FirstName"].ToString();

должно быть хорошо.

В качестве отступления - использование for и индексатор строк могут быть немного убраны:

    DataColumn col = dt.Columns["FirstName"];
    foreach (DataRow row in dt.Rows)
    {
        string name = (string)row[col];
        //.. do something with name
    }

Это проще для чтения и более эффективно (индексатор DataColumn является оптимальным).

0 голосов
/ 26 февраля 2009

dt.DefaultView [i] возвращает экземпляр DataRowView строки с индексом i в вашем DefaultView.

MSDN на DataRowView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...