gpt4 book ai didi

c# - 在 C# 中查找数组中给定类型的元素

转载 作者:行者123 更新时间:2023-11-30 13:24:52 24 4
gpt4 key购买 nike

我有一个 Fleet 类,其中包含一组(基类)车辆。数组中的车辆是车辆的子类:平原、火车和汽车。该数组是私有(private)的,但 Fleet 类必须提供一种方法来获取给定类型的车辆。

类似于:

class Fleet
{
private Vehicle[] _vehicles;

// returns the vehicles of the specified subclass
public ???? Get(????)
{
return ????
}
}

Fleet fleet = new Fleet("fleet.def");

Trains[] trains = fleet.Get(Trains); // looks clean but isn't possible
Plains[] plains = fleet.Get<Plains>(); // looks okay but don't know
// how to implement

(我使用的是数组,但实际上任何可以迭代的集合类型都可以。)

现在,如您所见,我完全不知道如何实现它。我正在为 Get 方法寻找一个优雅的解决方案,效率并不是真正的问题。还请列出解决方案中涉及的关键技术,以便我可以在我的 C# 书籍中查找它们...

谢谢!

最佳答案

你的 Fleet.Get() 看起来像

public IEnumerable<T> Get<T>()
{
return _vehicles.OfType<T>();
}

关于c# - 在 C# 中查找数组中给定类型的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com