私はちょっとした試合をしました。今、私は現在の "エンティティ"オブジェクトと衝突している特定のタイプのすべてのアイテムのリストを取得したいと思います。私は次のエラーを取得する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>"
誰も説明でき、これはなぜ起こるか私はこのような何かをしたいですか?
ありがとうございました!
、:
Enumerable.Select<TSource, TResult>
とEnumerable.OfType<TResult>
は、ソースとは異なるタイプのIEnumerableをを返すことができます。 2番目の 'Where'節は' OfType