gpt4 book ai didi

c# - 在 List> 中搜索一个值

转载 作者:行者123 更新时间:2023-11-30 12:13:03 25 4
gpt4 key购买 nike

我有一个 List< Dictionary < string, object >>变量如下。

private static List<Dictionary<string, object>> testData = new List<Dictionary<string, object>>(100);

// Just Sample data for understanding.
for (int i = 0; i < 100; i++)
{
var test = new Dictionary<string, object>
{
{ "aaa", "aaa" + i % 4 },
{ "bbb", "bbb" + i % 4 },
{ "ccc", "ccc" + i % 4 },
{ "ddd", "ddd" + i % 4 },
{ "eee", "eee" + i % 4 },
{ "fff", "fff" + i % 4 },
{ "ggg", "ggg" + i % 4 },
{ "hhh", "hhh" + i % 4 },
{ "iii", "iii" + i % 4 }
};
testData.Add(test);
}

我想在字典中搜索键值列表并返回 List< Dictionary < string, object >>包含我传递的 searchPattern。

Dictionary<string, object> searchPattern = new Dictionary<string, object>();
searchPattern .Add("aaa", "aaa4");
searchPattern .Add("eee", "eee2");
searchPattern .Add("fff", "fff1");
searchPattern .Add("ddd", "ddd3");


public List<Dictionary<string, object>> SearchList(List<Dictionary<string, object>> testData, Dictionary<string, object> searchPattern)
{
List<Dictionary<string, object>> result;

// Search the list.

return result;
}

任何其他搜索建议也很感激。非常感谢!!

最佳答案

这将返回列表中包含搜索模式中所有键值对的第一个字典,如果没有则返回 null

public Dictionary<string, object> SearchList
(
List<Dictionary<string, object>> testData,
Dictionary<string, object> searchPattern
)
{
return testData.FirstOrDefault(x => searchPattern.All(x.Contains));
}

如果您想要所有匹配项(不仅仅是第一个),请使用 Where([...]).ToList() 而不是 FirstOrDefault([...]).

关于c# - 在 List<Dictionary<string, object>> 中搜索一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399212/

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