我有一個小遊戲,在那裏我實現了一些碰撞檢測。現在我想獲得一個特定類型的所有項目列表,它們與當前的「實體」對象相沖突。我想要做這樣的事情:C#:鏈接Linq方法和鑄造
public List<T> GetCollidingObjects<T>() where T : Entity
{
return this.Game.World.Entities
.AsParallel()
.Where(e => e.IsColliding(this))
.Where(e => e is T)
.ToList<T>();
}
我得到以下錯誤:
Instance argument: cannot convert from "System.Linq.ParallelQuery<GameName.GameObjects.Entity>" to "System.Collections.Generic.IEnumerable<T>"
任何人都可以解釋,爲什麼出現這種情況?
謝謝!
它可能不會解決你的問題,但是第二個Where子句可以用OfType()來代替。 –