在多个列表中查找项目?

时间:2015-08-08 15:18:40

标签: c# list for-loop find

我知道这个问题已经准备好混淆了,所以可能有必要提出一个问题

我试图找到一种方法来确保在列表中找到一个对象 并且一旦找到(根据列表)做的事情。

这样的事情(我知道它完全不正确,但我不知道如何解释;)

public void OnPointerClick(BaseEventData eventData)
{
    FindObject(eventData.selectedObject.name);
}

public void  FindObject(string selectedObject)
    {
        switch (selectedObject)
        {
             case for(int i = 0; i < List1.Count; i++)
                  {
                       if(selectedObject == List1[i].Name)
                       {
                           //Do Stuff
                       }
                   }
                   break;

              case for(int i = 0; i < List3.Count; i++)
                  {
                       if(selectedObject == List3[i].Name)
                       {
                           //Do Stuff
                       }
                   }
                   break;

              case for(int i = 0; i < List2.Count; i++)
                  {
                       if(selectedObject == List2[i].Name)
                       {
                           //Do Stuff
                       }
                   }
                   break;

我转过身来,也许我的做法非常糟糕

感谢您的帮助;)

1 个答案:

答案 0 :(得分:2)

if (List1.Any(o=>o.Name == selectedObject)
{
    //do...
}
else if (List2.Any(o=>o.Name == selectedObject)
{
    //do...
}
else if (List3.Any(o=>o.Name == selectedObject)
{
    //do...
}