【问题标题】:Filter Rectangles with 2:1 Aspect Ratio from an array of rectangles从矩形数组中过滤具有 2:1 纵横比的矩形
【发布时间】:2026-02-21 16:30:01
【问题描述】:

我有一个这样定义的矩形数组

Rectangle[] recArray = new Rectangle[100];

我需要一种方法来过滤掉长宽比为 1:2 的矩形,如下图所示

请告诉我最好的方法。

【问题讨论】:

    标签: c# .net bitmap gdi+ system.drawing


    【解决方案1】:

    您可以像这样使用 linq 查询:

    var result = recArray.Where(x => x.Height / x.Width == 2).ToList();
    

    结果是List<Rectangle>,您可以绘制它们或对它们做任何您需要的事情。

    如果您需要Array 而不是List,请使用.ToArray() 方法而不是ToList()

    另外别忘了加using System.Linq;

    【讨论】:

    • 谢谢.. 我可以使用 LINQ 生成一个包含具有此纵横比的矩形的新矩形数组吗?
    • 如果您需要Array 而不是List,请使用.ToArray() 方法而不是ToList()