我要问的问题乍一看似乎是一个几何问题,但实际上可以通过使用LINQ
来解决,至少我希望如此!
我在直线上有5个点,其中两个位于线的末端。如何使用LINQ
选择行内部(而不是终点)的那些?
public class Point
{
public double X;
public double Y;
}
var listOfPointsOnALine = new List<Point>
{
new Point { X = 2500, Y = 50 },
new Point { X = 2540, Y = 112.5 },
new Point { X = 2580, Y = 175 },
new Point { X = 2620, Y = 237.5 },
new Point { X = 2660, Y = 300 },
}
因此,使用上面列表中的一些LINQ
应该会给我以下列表:
innerPointsOnALine: {(2540, 112.5), (2580, 175), (2620, 237.5)}
答案 0 :(得分:2)
如果我理解正确,那么我认为你在寻找:
var newList = listOfPointsOnALine
.Skip(1)
.Take(listOfPointsOnALine.Count - 2)
.ToList();
在执行此操作之前,您可能需要检查列表的长度。