使用以元组为值的dictionary.ContainsValue

Dan*_*ith 5 .net c# dictionary

我有一个字典,我在一个元组中存储一个键和2个值,如下所示:

variableDictionary = new Dictionary<string, Tuple<string, string>>();
Run Code Online (Sandbox Code Playgroud)

所以我的字典是: key, <value1, value2>

我想检查一下value1是否已存储在字典中.如果我的字典是键的字符串和值的字符串,我可以使用ContainsValue.

bool alreadyStored = variableDictionary.ContainsValue(value1);
Run Code Online (Sandbox Code Playgroud)

我不知道如何找到我的value1是否在元组的value1部分的字典中,而不管value2是什么.我可以创建一个新的元组,并检查它是否包含这个元组,但我不知道如何使它有效地忽略第二个值.

Mar*_*zek 11

ContainsValue执行简单的线性搜索,因此您可以非常轻松地使用LINQ执行相同操作:

bool alreadyStored = variableDictionary.Any(x => x.Value.Item1 == value1);
Run Code Online (Sandbox Code Playgroud)