如何在C#中搜索List中的字符串<Tuple <string,string >>

Ara*_*ind 10 c# tuples list

我有一个

        List<Tuple<string,string>> tr = new List<Tuple<string,string>>();
        tr.Add(new Tuple<string, string>("Test","Add");
        tr.Add(new Tuple<string, string>("Welcome","Update");

        foreach (var lst in tr)
         {
             if(lst.Contains("Test"))
              MessageBox.Show("Value Avail");

          }
Run Code Online (Sandbox Code Playgroud)

这样做我失败了,....

jam*_*eff 11

如果您想使用LINQ:

if(tr.Any(t => t.Item1 == "Test" || t.Item2 == "Test"))
    MessageBox.Show("Value Avail");
Run Code Online (Sandbox Code Playgroud)

如果多次找到文本(如果这是所需的),这也将仅显示消息框一次的好处.


hor*_*rgh 6

可能这应该工作:

foreach (var lst in tr)
{        
    if (lst.Item1.Equals("Test"))        
        MessageBox.Show("Value Avail");
}
Run Code Online (Sandbox Code Playgroud)

或这个

if (lst.Item1.Equals("Test") || lst.Item2.Equals("Test"))
Run Code Online (Sandbox Code Playgroud)

阅读元组课程 ; 您需要通过Item1和/或Item2属性访问元组的值.


为什么要使用Tuple呢?也许这更容易:

Dictionary<string, string> dict = new Dictionary<string, string>
{
    {"Test", "Add"},
    {"Welcome", "Update"}
};

if (dict.ContainsKey("Test"))
{
    MessageBox.Show("Value Avail:\t"+dict["Test"]);
}
Run Code Online (Sandbox Code Playgroud)