gpt4 book ai didi

c# - 确定字典是否包含一组键的全部

转载 作者:可可西里 更新时间:2023-11-01 03:05:49 27 4
gpt4 key购买 nike

我正在尝试找出确定 Dictionary<string, string> 是否有效的最佳方法对象包含一组 string所有对象作为键。

我可能没有任何意义所以这里有一些使用一组确定的字符串的示例代码:

public static bool ContainsKeys(this Dictionary<string, string> dictionary)
{
return dictionary.ContainsKey("fname") && dictionary.ContainsKey("lname") && dictionary.ContainsKey("address1") &&
dictionary.ContainsKey("city") && dictionary.ContainsKey("state") && dictionary.ContainsKey("zip");
}

这里的想法是接受任意一组字符串作为 keys并检查 Dictionary<string, string> 的键是否对象包含 keys 中的所有字符串.

我正试图沿着 LINQ 之路走下去:

public static bool ContainsKeys(this Dictionary<string, string> dictionary, string[] keys)
{
var query = from entry in dictionary
where keys.Contains(entry.Key)
select entry;

return query.Any();
}

不过我不知道我是否走在正确的道路上 - 我认为如果我想知道这是否可行 dictionary包含任何这些字符串作为键。

最佳答案

像这样应该可以满足您的要求。当然,对你的论点进行适当的验证。

return keys.Any() 
&& keys.All(key => dictionary.ContainsKey(key));

注意:我包括Any,因为如果源序列(键)实际上是空的,All 将返回true。如果您不介意这一点,则不要使用 Any

关于c# - 确定字典是否包含一组键的全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14989393/

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