我正在尝试访问DataTable的List-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可以直接访问。