Получить значение datarow в С#

У меня есть вопрос относительно DataRows. У меня есть DataTable, который затем преобразован в список DataRow. Теперь я хочу, чтобы строковая информация хранилась в каждом DataRow. Как я могу это сделать? Это мой код:

List<DataRow> list = dt.AsEnumerable().ToList();

Ответ 1

Просто используйте индекс для доступа к каждому элементу. Следующий код получит первый элемент в списке.

list[0].MyString;

Ответ 2

Вы можете сделать это,

foreach(var row in list)
{
    var value = row["ColumnName"] as string;
}

или это, чтобы получить все строковые значения "ColumnName" лениво.

var values = list.Select(row => row["ColumnName"] as string);

Почему бы вам включить DataTable в список? Просто интересно.

Ответ 3

Это должно сделать трюк. string t = list[row]["column name"].ToString();

Ответ 4

Вам нужно будет использовать стандартные индексы в DataRow:

string someValue =
list[0]["SomeColumn"] as string;

Или, если вы хотите работать с массивом данных, поступающих из строки,

ArrayList lst = new ArrayList(list[INDEX_OF_THE_ROW].Count);

foreach(object value in list[INDEX_OF_THE_ROW])
{
    lst.Add(value);
}

Ответ 5

    List<DataRow> list = dt.AsEnumerable().ToList();
    var mystring = list[0]["ColumnName"].ToString();

Ответ 6

Вы можете получить его по имени или индексу столбца. Поэтому, если строка, которую вы пытаетесь получить, находится в первом столбце, вы можете сделать список [rowNum] [0].ToString()