如何循环遍历字典中满足某些条件的所有项?c#



我目前正在做一个项目,我必须在字典上循环。我只想遍历字典中包含a的子字符串的键。所以对于字典(key, value)我只想遍历字典中包含a的键对。

我该怎么做呢?

我该怎么做呢?

字典在检查相等时只提供O(1)(快速)访问。没有"选择"的方法包含值而不循环的键:

foreach(var entry in myDictionary)
{
if(entry.Key.Contains("A"))
// do something with entry.Value
}

你可以使用Linq的Where方法,但它没有提供任何性能改进(它仍然在内部循环):

foreach(var entry in myDictionary.Where(e => e.Key.Contains("A"))
{
// do something with entry.Value
}

方法很多。以下是一个示例(未测试)。

var keys = dictionary.Keys.Where(k => k.Contains(a));
foreach (var matchingKey in keys)
{
var value = dictionary[matchingKey];
// Do something
}

相关内容

  • 没有找到相关文章

最新更新