如何将字符串与字典中的键值进行比较?假设我的字典键是“f001.name”,“f002.item”和“f003.content”,我需要找出其中只有“foo1”的键。
答案 0 :(得分:2)
我假设您正在尝试过滤字典中的值列表?
你可以尝试下面的代码,它会过滤掉那些与Key包含“f001”的对:
Dictionary<string, string> filterValues = myValues.Where(s => s.Key.Contains("f001")).ToDictionary(s => s.Key, s => s.Value);
答案 1 :(得分:0)
如果必须迭代它,字典不是一个好的选择。它适用于基于散列键值的直接,快速对象查找。
如果您想要通过不同的值来评估它们,List可能是更好的选择。
字典 具有IEnumerable接口,因此您可以使用foreach遍历所有条目。你必须声明一个适合类型的KeyValuePair才能在迭代器中使用,但从那里开始就非常明确。
举个例子:
foreach( KeyValuePair<string, myObjectType) kvp in MyDictionary)
if (kvp.Key.Contains("foo") then System.Console.WriteLine(kvp.Key);
答案 2 :(得分:0)
词典中的键是唯一的,因此词典中只有一个foo1
键。
当有多个值时,您会迭代集合。
答案 3 :(得分:0)
遍历键列表,如果找到带有子字符串的特定键,则返回
foreach(string key in myDictonary.Keys)
if(key.Contains("yourString"))
//return key