c# 自定义PointCollection类实现Parse方法
时间: 2024-10-04 14:02:14 浏览: 35
在 C# 中,如果你想要自定义一个 PointCollection 类,它通常用于存储和操作一系列 Point 对象,并提供一个 Parse 方法来解析字符串或者其他数据源转换成点集合,你可以这样做:
```csharp
public class PointCollection : List<Point>
{
public PointCollection() { }
// 定义 Parse 方法,假设输入格式是逗号分隔的坐标对,如 "1,2;3,4;5,6"
public static PointCollection Parse(string input)
{
if (string.IsNullOrEmpty(input))
return new PointCollection();
string[] coordinates = input.Split(';');
PointCollection collection = new PointCollection();
foreach (string coordinate in coordinates)
{
string[] parts = coordinate.Split(',');
if (parts.Length == 2)
{
int x = int.Parse(parts[0]);
int y = int.Parse(parts[1]);
collection.Add(new Point(x, y));
}
}
return collection;
}
// Point 类简单示例,实际项目中可能会更复杂
private class Point
{
public int X { get; set; }
public int Y { get; set; }
public Point(int x, int y)
{
X = x;
Y = y;
}
}
}
```
在这个例子中,`Parse` 方法首先检查输入是否为空,然后通过 `Split` 函数将字符串按照分号分割成多个坐标对。接着,对于每一个坐标对,再用逗号将其分割成具体的 X 和 Y 坐标值,并创建一个新的 Point 对象添加到列表中。
阅读全文