Linq to find pair of points with longest length?

Posted by Chris on Stack Overflow See other posts from Stack Overflow or by Chris
Published on 2010-03-31T15:46:31Z Indexed on 2010/03/31 15:53 UTC
Read the original article Hit count: 442

Filed under:
|

I have the following code:

foreach (Tuple<Point, Point> pair in pointsCollection)
        {
            var points = new List<Point>()
                        {
                            pair.Value1,
                            pair.Value2
                        };

        }

Within this foreach, I would like to be able to determine which pair of points has the most significant length between the coordinates for each point within the pair.

So, let's say that points are made up of the following pairs:

(1) var points = new List<Point>() { new Point(0,100), new Point(100,100) };

(2) var points = new List<Point>() { new Point(150,100), new Point(200,100) };

So I have two sets of pairs, mentioned above. They both will plot a horizontal line. I am interested in knowing what the best approach would be to find the pair of points that have the greatest distance between, them, whether it is vertically or horizontally. In the two examples above, the first pair of points has a difference of 100 between the X coordinate, so that would be the point with the most significant difference. But if I have a collection of pairs of points, where some points will plot a vertical line, some points will plot a horizontal line, what would be the best approach for retrieving the pair from the set of points whose difference, again vertically or horizontally, is the greatest among all of the points in the collection?

Thanks!

Chris

© Stack Overflow or respective owner

Related posts about c#

Related posts about LINQ