5
は基本的に私は、LINQのために、このコードを適応したい:LINQの最初のオブジェクトのみを選択しますか?
private Tile CheckCollision(Tile[] tiles)
{
foreach (var tile in tiles)
{
if (tile.Rectangle.IntersectsWith(Rectangle))
{
return tile;
}
}
return null;
}
コードは、各タイルをチェックし、物体に衝突最初のタイルを返します。私はこれを使用している場合、私はなるだろうように私は唯一最初タイルではなく、タイルの配列をしたい:
private Tile CheckCollision(Tile[] tiles)
{
var rtn =
from tile in tiles
where tile.Rectangle.IntersectsWith(Rectangle)
select tile;
}
私は何をすべき?どの要素があること、配列に見つからない場合.First()
拡張メソッドが例外をスローします
private Tile CheckCollision(Tile[] tiles)
{
return tiles.FirstOrDefault(t => t.Rectangle.IntersectsWith(Rectangle));
}
:
+1は、すぐにそれを受け入れてくれます。 :) – ApprenticeHacker