在声明为父对象的列表中查找子对象

时间:2012-04-25 15:09:40

标签: c# xna-4.0

我正在为XNA项目开发一个屏幕管理器类。我正在跟踪类型GameScreen的列表,以跟踪我的每个游戏状态。我的每个屏幕都继承自GameScreen

我如何在列表中找到一个特定的孩子?

例如,假设我们有:

List<Fruit> fruits = new List<Fruit>(){Apple, Orange, Banana, Pineapple};

我想编写一个函数,它接收某种类型的水果并从列表中返回该特定水果。我该怎么做呢?

修改

public Fruit findFruit(object myFruit)
{
    //use myFruit to find the correct fruit in the list
}

2 个答案:

答案 0 :(得分:1)

作业?

你可以这样做:

public Fruit GetFruit(Type type)
{    
    return fruits.Find(x => x.GetType() == type);
}

答案 1 :(得分:0)

遍历每个元素并比较所需类的类型

foreach(水果中的水果){if(typeof(f)是typeof(Apple)return f;}