在多个列表中查找项目?
Find items in multiple list?
我知道这个问题很容易混淆,所以可能需要解释一下
我试图找到一种方法来确保可以在列表中找到一个对象
一旦找到(根据列表)做一些事情。
类似这样的(我知道这是完全不正确的,但我不知道如何解释;))
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;
我转身可能是我的做法真的很糟糕
感谢您的帮助 ;)
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...
}
我知道这个问题很容易混淆,所以可能需要解释一下
我试图找到一种方法来确保可以在列表中找到一个对象 一旦找到(根据列表)做一些事情。
类似这样的(我知道这是完全不正确的,但我不知道如何解释;))
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;
我转身可能是我的做法真的很糟糕
感谢您的帮助 ;)
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...
}