【发布时间】:2019-01-06 22:51:35
【问题描述】:
我有 2 个字典 List<Dictionary<string, object>> 像这样:
[{"Id":"2","FirstName":null,"MiddleName":null,"LastName":null,"Birthday":null,"Username":null,"Password":null,"LastLogin":null,"CreateDateTime":null,"UpdateDateTime":null,"Blocked":null,"HasOrders":null}]
并且有一个像这样的字典Dictionary<string, string> 用于过滤
var dict = new Dictionary<string, object>
{
{ "Username", "myUsername" },
{ "Password", "myPassword" }
};
我的问题是如何在第二个列表的帮助下过滤掉第一个列表中的记录。 请注意,我需要在第二个列表中包含 2 或 3 个动态键/值的 where 语句。这些 JSON 结构中有很多记录。
如果有人能指出正确的方向,那就太好了。
--更新--
我想要的东西,但比没有 foreach:
foreach(Dictionary<string, object> v in Data)
{
v.Where(x =>
x.Key.Contains(nList.Where(n => n.Key == x.Key && n.Value = x.Value)));
}
我不知道如何在 LINQ 中执行此操作
【问题讨论】:
-
This 帖子将回答您的问题。使用 Linq where 子句。
-
“如何在第二个列表的帮助下过滤掉第一个列表中的记录”?如果您在过滤器完成后指定您期望的结果会更清楚。
-
如果你能提供一个minimal reproducible example 带有样本输入和基于这些样本输入的预期结果,那就太棒了。
-
如果用户在此字典中存在,我需要通过用户名和密码进行过滤
-
正如@mjwills 已经提到的。 提供一个包含样本输入和预期结果的最小、完整和可验证的示例。
标签: c# linq dictionary