c# 自定义PointCollection类实现ToString方法
时间: 2024-10-04 20:02:24 浏览: 36
C#编写的道格拉斯算法演示
在 C# 中,如果你想要自定义一个名为 PointCollection 的类来表示一组点,并提供一个 `ToString` 方法以方便转换为字符串形式,你可以这样做:
```csharp
public class PointCollection
{
private List<Point> points; // 假设 Point 是另一个已存在的类,包含 x 和 y 属性
public PointCollection(params Point[] points)
{
this.points = new List<Point>(points);
}
// 定义 ToString 方法,将点集合转换为字符串展示
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("PointCollection: {");
foreach (var point in points)
{
sb.AppendFormat("({0}, {1})", point.X, point.Y);
if (points.IndexOf(point) != points.Count - 1) // 如果不是最后一个点,添加逗号分隔
sb.Append(", ");
}
sb.Append("}");
return sb.ToString();
}
}
// 示例如何使用
Point p1 = new Point(1, 2);
Point p2 = new Point(3, 4);
PointCollection collection = new PointCollection(p1, p2);
Console.WriteLine(collection); // 输出:PointCollection: {(1, 2), (3, 4)}
```
在这个例子中,我们创建了一个 `PointCollection` 类,它有一个内部列表存储 `Point` 对象。`ToString` 方法遍历这个列表,将每个点的坐标组合成一个字符串并返回。
阅读全文