c# - 查询数据表中行和列交叉处的特定值

标签 c# linq

假设我有一个 DataTable (myDatable),其第一行是一行标题,其后续行只是数字数据。例如:

    | WaterPercent | Ethylene | Toluene |
    |1.0312345     | 74.1323  | 234.000 |
    |56.054657     | 18.6540  | 234.000 |
    |37.57000      | 94.6540  | 425.000 |

此时,myDataTable.ColumnsmyDataTable.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/

相关文章:

c# - 为什么使用泛型的 "Equals"方法解析与显式调用不同

c# - 在动态生成的菜单中获取所选项目的 ID

c# - System.Net.GlobalLog - 如何查看其输出?

c# - 使用 LINQ to XML 处理简单的 XML 文件 : overkill? 或者没有更糟?

LINQ to Objects 问题

c# - 用于过滤实体集合列表并维护实体列表的 Linq 表达式

c# - 使用 .Substring 逐字读取字符串?

sql-server - 如何选择跨群体的最高共同值(value)

c# - 如何确保使用 EF/LINQ 不会加载行两次

c# - 何时何地使用表达式树