繁体   English   中英

Linq通过使用列Index获得数据表的名称

[英]Linq get the column Name of a datatable by using the column Index

我试图通过与Linq一起使用列索引来查找数据表的列名称之一。 例:

  int colindex = 2;

  Datatable: PersonInfo
  ID Name Address City State Country Zip 
  1  xx    11-23    LA  CA    USA    9123

  PersonInfo.AsEnumerable().Select(x => x.field<int>(Colindex).ColumnName);

  returns Address

为什么要尝试使用LINQ来做到这一点? 就像这样简单:

var columnName = PersonInfo.Columns[colindex].ColumnName;

您的代码不起作用,因为Field<T>扩展方法返回T ,所以Field<int>返回int ,无法从该int值获取列名。

如果确实需要使用LINQ,则应该查询DataTable.Columns属性,而不是行:

var columnName = PersonInfo.Columns.Cast<DataColumn>().ElementAt(colindex).ColumnName;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM