假设我有一个 DataTable (myDatable),其第一行是一行标题,其后续行只是数字数据。例如:
| WaterPercent | Ethylene | Toluene |
|1.0312345 | 74.1323 | 234.000 |
|56.054657 | 18.6540 | 234.000 |
|37.57000 | 94.6540 | 425.000 |
此时,myDataTable.Columns
和 myDataTable.Rows
中包含的所有数据都是字符串
。
使用此查询:
var results = from row in myDataTable.AsEnumerable()
select row.Field<string>("Ethylene");
我可以获得 Ethylene 列中的所有值,但我想使用“where”子句来过滤查询,这样我就可以在特定行索引与“Ethylene”等列的交集处仅检索一个值”。
因此,我似乎无法在 Linq 查询中使用“row
”访问行集合的索引(除非我遗漏了某些内容)。即使我有这个,我也不知道如何形成查询的“where”子句来获得我想要的。
我的查询需要什么才能将结果过滤到特定行和列的交集?
例如,我想要值 18.6540,该值存在于行索引 2 和 Ethylene 列处。
最佳答案
如果您知道特定的行索引,则可以直接使用 .Rows
集合指定行索引,就像索引数组或集合一样(因为它是基于 0 的索引,所以第 2 行将是索引1
):
var result = myDataTable.Rows[1].Field<String>("Ethylene")
关于c# - 查询数据表中行和列交叉处的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070336/