我需要存储一对Point
对的集合,但不希望使用纯C#数组绑定到使用迭代器。哪一种最简单的方法(使用KeyValuePair<Point,Point>
除外)能够在.Add(Point, Point)
的范围内拥有这样的二维集合?在C中添加两维数组#
3
A
回答
4
Point,Point
是不一个键值对,这是一个Tuple<Point,Point>
。您可以创建一个List<Tuple<Point,Point>>
或任何适合您的需求。
然而,你应该记住的东西记 - 一个Tuple
是不可变的结构 - 你不能改变它的元素,指向其他Point
对象(但是,如果Point
对象本身是可变的,你可能会变异的Point
) 。如果您需要能够更改此列表中的元素以指向其他点,请创建自己的类来保存这些元素。
1
将List<Tuple<int,int>>
你帮忙?
1
IEnumerable<Tuple<Point, Point>>
+0
+1作为唯一一个在List上使用'IEnumerable'的人。通过使用'Point'而不是保留泛型类型参数,它可能更具体。 – 2012-02-29 09:09:53
4
子类List<Tuple<Point,Point>>
和创建。新增的两个点参数的过载。
public class MyCollection : List<Tuple<Point, Point>>
{
public void Add(Point p1, Point p2)
{
this.Add(Tuple.Create(p1, p2));
}
}
相关问题
- 1. 在多维数组中添加数字
- 2. 维度添加到多维数组在C#
- 3. 在PHP数组中添加维
- 4. C++如何在二维数组的列中添加元素
- 5. 在c#asp.net中给多维数组添加一个值
- 6. 如何在SQL Server 2000中使用c#添加二维数组
- 7. 将维添加到数组
- 8. 添加两个数组在一起,维护索引
- 9. 添加到多维数组在PHP
- 10. PowerShell中添加多维数组
- 11. 添加到多维数组中的PHP
- 12. 将PHP添加到多维数组中
- 13. 在PHP多维关联数组中添加数组键
- 14. 在Javascript中添加二维数组内的数组
- 15. 在C/C++中将两个二维数组初始化为零
- 16. C#多维数组在C + +?
- 17. 在C中分配二维数组中的一维数组#
- 18. 添加多维数组到mysql我有多维数组
- 19. Excel的VBA - 添加一维数组,多维数组不循环
- 20. C++比较两个多维数组
- 21. 将数据添加到3维数组
- 22. 数据添加到多维PHP数组
- 23. 将数组添加到同一维数
- 24. 添加了两个不同大小的多维数组
- 25. 添加两个数组
- 26. PHP加入两个多维数组
- 27. 在PHP中向数据库添加多维数组
- 28. PHP - 在二维数组中添加数值(如果未找到)
- 29. 添加一个新的数组多维数组在Python
- 30. PHP - 为二维数组中的每个数组添加值
如何让新班级储存成对?然后把这个类的实例放入集合中? – Perlnika 2012-02-29 09:03:51
也许'List>' –
Reniuz
2012-02-29 09:04:07
创建您自己的Tuple列表并覆盖Add方法,因此您不需要初始化新的Tuple。 MyList.Add(point a,point b){} –
Lloyd
2012-02-29 09:05:46