我有一个程序在c#中制作链接列表,如下所示:
class Point
{
public string Name { get; set; }
public List<Point> NextPoints { get; set; }
public Point()
{
NextPoints = new List<Point>();
}
}
这是带有名称和下一个点的点对象。
我用数据填充点列表
List<Point> Points;
我在这里定义了一行:
class DashedLine
{
public Point X { get; set; }
public Point Y { get; set; }
}
我需要一个递归函数来获取给定 DashedLine
的循环因此,我传递 DashedLine 对象,该函数返回一个构成循环的点列表。
请帮我做这个功能。
答案 0 :(得分:0)
考虑更改您的数据结构,可能是这样的:
class Program
{
static void Main(string[] args)
{
DashedLine line = new DashedLine();
line.Points.Add(new Point { X = 1, Y = 1 });
line.Points.Add(new Point { X = 2, Y = 2 });
line.Points.Add(new Point { X = 3, Y = 3 });
line.Points.Add(new Point { X = 4, Y = 4 });
foreach (Point p in line.Points)
{
Debug.WriteLine("Point {0}, {1}", p.X, p.Y);
}
}
}
class Point
{
public int X { get; set; }
public int Y { get; set; }
}
class DashedLine
{
public List<Point> Points { get; set; }
public DashedLine()
{
Points = new List<Point>();
}
}
输出:
Point 1, 1
Point 2, 2
Point 3, 3
Point 4, 4