基本的に、このコードを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;
}
私は何をすべきか?