如何将字符串与字典中的键值进行比较

本文关键字:键值 比较 字典 字符串 | 更新日期: 2023-09-27 18:23:36

如何将字符串与字典中的键值进行比较?假设我的字典键是"f001.name"、"f002.item"answers"f003.content",我需要找出其中只有"foo1"的键。

如何将字符串与字典中的键值进行比较

我假设您正试图从字典中筛选出值列表?

你可以试试下面的代码,它会过滤掉那些密钥包含"f001"的配对:

Dictionary<string, string> filterValues = myValues.Where(s =>    s.Key.Contains("f001")).ToDictionary(s => s.Key, s => s.Value);
字典中的键是唯一的,因此字典中只有一个foo1键。

当集合中存在多个值时,可以对其进行迭代。

如果必须迭代字典,那么字典不是一个好选择。它用于基于哈希键值的直接、快速的对象查找。

如果您想遍历不同的值来评估它们,列表可能是更好的选择。

字典确实有一个IEnumerable接口,因此您可以使用foreach遍历所有条目。您必须声明一个类型适当的KeyValuePair才能在迭代器中使用,但从那以后一切都很顺利。

例如:

   foreach( KeyValuePair<string, myObjectType) kvp in MyDictionary)
       if (kvp.Key.Contains("foo") then System.Console.WriteLine(kvp.Key);

遍历密钥列表,如果找到带有子字符串的特定密钥,则返回

foreach(string key in myDictonary.Keys)
  if(key.Contains("yourString"))
     //return key