我有一个基类,比如说Fruits.那么我的那个,说几句子类Banana:Fruit,Apple:Fruit等等.
然后,我有一个不同类型的对象列表,香蕉,苹果,等等.看起来像这样:
List<Fruits> f = new List<Fruits>{new Banana(), new Banana(), new Apple(), new Banana()};
Run Code Online (Sandbox Code Playgroud)
我想要一个可以获取水果列表和类型的函数,并给我一个列表,列表中只包含该类型的对象.因此,如果我打电话find_obj(f, Banana),(或其他),它应该给我一个仅包含香蕉的列表.
我可能在这里表现出极度的无知,我道歉.这甚至可能吗?我知道如果我事先知道这个课,我可以做这样的事情:
public List<Fruit> GimmeBanana(List<Fruit> f)
{
List<Fruit> Output=new List<Fruit>{ };
foreach(Fruit fr in f)
{
if (fr is Banana){ Output.Add(fr); }
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何为Any课程做这项工作.
Mar*_*ers 12
这种方法已经存在于框架中 - OfType<T>:
List<Banana> bananas = f.OfType<Banana>().ToList();
Run Code Online (Sandbox Code Playgroud)