use*_*676 1 c# arrays list data-structures
我想要一个包含2个Int32值的数组,例如:
Int32 x
Int32 y
Run Code Online (Sandbox Code Playgroud)
我想列出这些数组.
List<int[]> l = new List<int[]>();
l.Add(new int[] { 1, 2 });
l.Add(new int[] { 3, 4 });
int a = l[1][0]; // a == 3
Run Code Online (Sandbox Code Playgroud)
听起来你正试图将数组转换为数据结构,而不是按顺序存储值.不要这样做.了解如何使用更高级的数据结构.
你提到一个Point带有x和y值的类型.相反,一个班级怎么样?
class Point
{
public readonly int X;
public readonly int Y;
public Point( int x, int y )
{
X = x;
Y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以创建新类型的实例并将它们添加到列表中,从而简化整个过程,并确保您不会在路上滑行并将数据添加x到y应有的数组中.
List<Point> ls = new List<Point>();
ls.Add( new Point( 0, 0 ) );
ls.Add( new Point( 10, 10 ) );
ls.Add( new Point( 100, 100 ) );
Run Code Online (Sandbox Code Playgroud)
无论如何,阅读如何在C#中创建自己的数据结构是一个好主意.学习如何以易于使用的方式正确存储数据有很多好处.