如何列出一组int的列表?

use*_*676 1 c# arrays list data-structures

我想要一个包含2个Int32值的数组,例如:

 Int32 x
 Int32 y
Run Code Online (Sandbox Code Playgroud)

我想列出这些数组.

  • 如何声明和初始化此数组和列表?
  • 我填充后如何访问列表成员?

Pet*_*nov 8

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)


Ed *_* S. 6

听起来你正试图将数组转换为数据结构,而不是按顺序存储值.不要这样做.了解如何使用更高级的数据结构.

你提到一个Point带有xy值的类型.相反,一个班级怎么样?

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)

现在,您可以创建新类型的实例并将它们添加到列表中,从而简化整个过程,并确保您不会在路上滑行并将数据添加xy应有的数组中.

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#中创建自己的数据结构是一个好主意.学习如何以易于使用的方式正确存储数据有很多好处.