gpt4 book ai didi

c# - 加入 DataTable 与 List

转载 作者:太空宇宙 更新时间:2023-11-03 20:44:24 24 4
gpt4 key购买 nike

我有一个数据表和一个对象列表。我需要返回 DataTable 中的所有行,其中 List 中的属性是特定值。 List仅用于过滤数据表(但过滤列不包含在数据表中)。

我确信这一定可以通过 LINQ 实现。

DataTable 包含:

MembershipID  Username   Password   
1 blah blah
2 blah blah
3 blah blah

我的列表包含:

MembershipID  Profile1   Profile2   Profile3 DifferentID   
1 blah blah blah A
2 blah blah blah B
3 blah blah blah C

我需要返回(作为数据表)- 例如:对于 GetUsersByDifferentID("B"):

MembershipID  Username   Password   
2 blah blah
...

如果这样更容易,我可以将第二个表作为数据表获取,但我认为使用 LINQ 可以实现我所需要的。我只是无法理解神奇的语法。

最佳答案

您可以使用连接来做到这一点:

List<ListItem> listItems = //whatever
DataTable dtItems = //whatever

IEnumerable<DataRow> matchingRows = listItems
.Join( dtItems.AsEnumerable(),
listItem => listItem.MembershipID,
row => row.Field<int>("MembershipID"),
(r,li) => new { DifferentId = li.DifferentId, Row = r })
.Where( ji => ji.DifferentID == "B")
.Select( ji => ji.Row);

更改 where 子句以使用您要匹配的实际值...

关于c# - 加入 DataTable 与 List<SomeObject>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1412008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com