gpt4 book ai didi

c# - 从列表中选择某种类型的元素 (c#)

转载 作者:行者123 更新时间:2023-12-02 15:36:12 24 4
gpt4 key购买 nike

我的主类中有一个“陷阱”列表。在子类“火焰”中,我想从该列表中删除某些元素。问题是,如何选择这些元素? Trap 确实有其他具有不同属性的子类。

这是我到目前为止得到的(代码简化,来自“Flame.cs”):

public override Boolean collide()
{
var flames = form1.traps.Where(trap => trap.ID == ID);
foreach (Flame f in flames)
{
if (f.pos > pos)
{
form1.traps.Remove(f);
}
}
return true;
}

我觉得我应该知道这一点,但我被卡住了:/

最佳答案

您可以使用 OfType扩展方法。

public override Boolean collide()
{
var flames = form1.traps.Where(trap => trap.ID == ID)
.OfType<Flame>()
.Where(f => f.pos > pos)
.ToList();

foreach (Flame flame in flames)
{
form1.traps.Remove(flame);
}

return true;
}

关于c# - 从列表中选择某种类型的元素 (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263768/

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