如何通过 LINQ 从 DataTable 中选择子集?
我是 LINQ 新手。 我有以下数据表
Name Date price1 price2
string DateTime decimal decimal
Jan09 14.01.2009 10.0 12.0
Feb09 14.01.2009 11.0 13.0
Jan09 15.01.2009 10.0 12.5
Feb09 15.01.2009 9.0 10.0
Jan09 18.01.2009 10.0 12.5
Feb09 18.01.2009 9.0 10.0
名称和日期是主复合键。
我想选择每个日期的所有名称,然后迭代新集合并选择下一个日期。
var subCollection = tab.Rows.Cast<DataRow>().Select(r1 => r1["Date"]).Select<string>(r2 => r2["Name"])
foreach (DataRow row in subCollection)
{
// do something with row
}
我的 Linq 表达式错误
I am new to LINQ.
I have the following DataTable
Name Date price1 price2
string DateTime decimal decimal
Jan09 14.01.2009 10.0 12.0
Feb09 14.01.2009 11.0 13.0
Jan09 15.01.2009 10.0 12.5
Feb09 15.01.2009 9.0 10.0
Jan09 18.01.2009 10.0 12.5
Feb09 18.01.2009 9.0 10.0
Name and Date are the primary compound key.
I want to select all Names for each Date, then iterate through the new collection and select the next date.
var subCollection = tab.Rows.Cast<DataRow>().Select(r1 => r1["Date"]).Select<string>(r2 => r2["Name"])
foreach (DataRow row in subCollection)
{
// do something with row
}
My Linq expression is wrong
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您想要的是按日期分组,然后查看给定日期的所有名称,然后查看下一个日期。
如果是这种情况,您想使用 Linq 组语法...
您可以在网上找到很多使用 Linq 组语法执行各种操作的示例。我发现重要的是认识到您可以按多个列进行分组,并且仍然使用以下语法应用 Sum、Max 或 Count 等聚合函数:
I think what you want is to group by your Date, then look at all the Names for a given date, then most onto the next.
If that is the case, you want to use the Linq group syntax...
You can find a lot of examples online for doing various things with the Linq group syntax. The thing I find important is realizing that you can group by multiple columns and still apply aggregate functions like Sum, Max, or Count using the following syntax: