0

私はLinqの初心者です。Linq ステートメントに変換したい for ループがあります。このループは基本的に、エッジにヒットしている長方形に対してヒット テストを実行しています。長方形を除外しています。

private List<Rectangle> GetTouchingRects(List<Rectangle> rects, Edge edgeToCheck, Rectangle exclude)
{
    List<Rectangle> hittingRects = new List<Rectangle>();

    foreach (Rectangle rect in rects)
    {
        if (rect != exclude)
        {
            if (rect.Touch(edgeToCheck))
            {
                hittingRects.Add(rect);
            }
        }
    }

    return hittingRects;
}

非常に基本的な Linq クエリを作成できますが、これについてはわかりません。主に除外チェックの確認方法とヒットテストの実行方法に戸惑っています。

どんな助けでも大歓迎です。

4

3 に答える 3

3

ジョンの説明は素晴らしかったResharperですが、私が最初に学んでいたときの私にとって素晴らしいツールでしたLINQ.

コードブロックを変換できるクールな機能がありますLINQ(方法がわかっている場合)。

あなたの場合、次のようになります。

ここに画像の説明を入力

出力は Jon の最初の回答のようになります。

ここに画像の説明を入力

これで始められますが、他のことと同様に、練習は時間の経過とともに上達します。

于 2013-06-13T21:41:24.847 に答える