public static List <Point> GetIntersectionPoints(List <Line> lines1, List <Line> lines2) { return((from line1 in lines1 from line2 in lines2 where line1.Intersects(line2) select LineHelper.CalculateIntersectionPoint(line1, line2) into intersectionPoint where intersectionPoint.X != 0 || intersectionPoint.Y != 0 select intersectionPoint).ToList()); }