C# C中带有.Add的二维数组#
我需要存储一组C# C中带有.Add的二维数组#,c#,collections,C#,Collections,我需要存储一组点对,但不想使用普通的C#数组绑定到迭代器的使用上。除了使用KeyValuePair)之外,能够将(点,点)添加到二维集合中的最简单方法是什么(除了使用KeyValuePair),它将列出您的帮助?点,点不是一个键值对,而是一个元组。您可以创建一个列表或任何适合您需要的内容 但是,您应该记住一点,元组是一个不可变的结构,不能将其元素更改为指向其他点对象(但是,如果点对象本身是可变的,则可以对点进行变异)。如果您需要能够将此列表中的元素更改为指向其他点,请创建自己的类来保存这些元素。
点
对,但不想使用普通的C#数组绑定到迭代器的使用上。除了使用KeyValuePair
)之外,能够将(点,点)
添加到二维集合中的最简单方法是什么(除了使用KeyValuePair
),它将列出您的帮助?点,点
不是一个键值对,而是一个元组。您可以创建一个列表
或任何适合您需要的内容
但是,您应该记住一点,元组是一个不可变的结构,不能将其元素更改为指向其他点
对象(但是,如果点
对象本身是可变的,则可以对点
进行变异)。如果您需要能够将此列表中的元素更改为指向其他点,请创建自己的类来保存这些元素。IEnumerable
IEnumerable<Tuple<Point, Point>>
子类列出
并创建重载。添加两个点参数
public class MyCollection : List<Tuple<Point, Point>>
{
public void Add(Point p1, Point p2)
{
this.Add(Tuple.Create(p1, p2));
}
}
公共类MyCollection:列表
{
公共空间添加(点p1、点p2)
{
this.Add(Tuple.Create(p1,p2));
}
}
制作新的类来存储配对怎么样?然后将该类的实例放入集合中?可能List
创建您自己的元组列表并重写Add方法,这样您就不需要初始化新元组。MyList.Add(点a,点b){}我更喜欢Perlnika的想法,而不是使用Tuple+1,因为它是唯一使用IEnumerable
overList
的人。通过使用Point
而不是保留泛型类型参数,它可以更具体地用于示例。