访问DataTable的DataColumnCollection的List属性



我正在尝试访问DataTableList-Data_ColumnCollection属性,但似乎没有。访问是必要的,因为从DataTable中提取后,我需要处理一组字符串(">Format"(。

微软的文档说,它可以通过数据表的列访问(https://learn.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属性至少是可获取的,这就是我所需要的。我相信我在这里错过了一些非常明显的东西。。。有什么想法吗?

DataColumnCollection是从InternalDataCollectionBase派生而来的,InternalDataCollectionBase本身就是一个集合,所以您的dataTable.Columes本身是一个列表,您不需要做列。列出

这就是访问每列属性的方法。

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);
}

尝试使用linq

var dtColumn = from item in dataTable.Columns.Cast<DataColumn>()
select item.ColumnName;

看起来我找到了答案:

foreach (TableColumn item in dataTable.Columns) 
{
Console.WriteLine("TEST: " + item.Format);  
}

类型TableColumn似乎继承自DataColumnormat可以直接访问。

最新更新