Доступ к свойству List коллекции DataColumnCollection таблицы данных
Я пытаюсь получить доступ к List -Property DataColumnCollection в DataTable , и кажется, что его нет. Доступ необходим, поскольку есть набор строк (« Формат »), который мне нужно обработать после извлечения из DataTable.
В документации Microsoft сказано, что он доступен через столбцы таблицы данных (https://docs.microsoft.com/en-us/dotnet/api/system.data.datatable?view=net-6.0), но это нет.
foreach (object item in dataTable.Columns.List) // .List is marked as error
{
Console.WriteLine("TEST: " + item.Format); // .Format (is string) is marked as error
}
Я знаю, что List-Property по крайней мере доступен, и это все, что мне нужно. Я считаю, что мне здесь не хватает чего-то очень очевидного ... какие-нибудь идеи?
3 ответа
DataColumnCollection является производным от InternalDataCollectionBase, который сам является коллекцией, поэтому сами ваши dataTable.Columns представляют собой список, вам не нужно делать столбцы.List
Вот как вы можете получить доступ к свойствам каждого столбца.
DataColumnCollection columns = table.Columns;
// Get the ColumnName and DataType for every column.
foreach(DataColumn dataColumn in columns)
{
Console.WriteLine(dataColumn.ColumnName);
Console.WriteLine(dataColumn.DataType);
}
Кажется, я нашел ответ:
foreach (TableColumn item in dataTable.Columns)
{
Console.WriteLine("TEST: " + item.Format);
}
Похоже, что тип TableColumn наследуется от DataColumn , и к свойству Format можно получить прямой доступ.
Попробуйте использовать линк
var dtColumn = from item in dataTable.Columns.Cast<DataColumn>()
select item.ColumnName;