C# 如何制作整数数组的列表?
我想要一个包含2个Int32值的数组,比如:C# 如何制作整数数组的列表?,c#,arrays,list,data-structures,C#,Arrays,List,Data Structures,我想要一个包含2个Int32值的数组,比如: Int32 x Int32 y 我想列出这些数组 如何声明和初始化此数组和列表 填充列表后,如何访问列表的成员 列表l=新列表(); l、 添加(新的int[]{1,2}); l、 添加(新的int[]{3,4}); int a=l[1][0];//a==3 列表l=新列表(); l、 添加(新的int[]{1,2}); l、 添加(新的int[]{3,4}); int a=l[1][0];//a==3 关于您想要什么,没有足够的信息。但这里
Int32 x
Int32 y
我想列出这些数组
- 如何声明和初始化此数组和列表
- 填充列表后,如何访问列表的成员李>
列表l=新列表();
l、 添加(新的int[]{1,2});
l、 添加(新的int[]{3,4});
int a=l[1][0];//a==3
列表l=新列表();
l、 添加(新的int[]{1,2});
l、 添加(新的int[]{3,4});
int a=l[1][0];//a==3
关于您想要什么,没有足够的信息。但这里是初始化Int32数组的通用列表的基本示例。我希望这有帮助
Int32 x = 1;
Int32 y = 2;
// example of declaring a list of int32 arrays
var list = new List<Int32[]> {
new Int32[] {x, y}
};
// accessing x
list[0][0] = 1;
// accessing y
list[0][1] = 1;
int32x=1;
int32y=2;
//声明int32数组列表的示例
变量列表=新列表{
新的Int32[]{x,y}
};
//访问x
列表[0][0]=1;
//访问y
列表[0][1]=1;
关于您想要什么,没有足够的信息。但这里是初始化Int32数组的通用列表的基本示例。我希望这有帮助
Int32 x = 1;
Int32 y = 2;
// example of declaring a list of int32 arrays
var list = new List<Int32[]> {
new Int32[] {x, y}
};
// accessing x
list[0][0] = 1;
// accessing y
list[0][1] = 1;
int32x=1;
int32y=2;
//声明int32数组列表的示例
变量列表=新列表{
新的Int32[]{x,y}
};
//访问x
列表[0][0]=1;
//访问y
列表[0][1]=1;
听起来您试图将数组转换为数据结构,而不是通过按顺序存储值。不要这样做。了解如何利用更高级的数据结构
您提到带有x
和y
值的点
类型。换个班怎么样
class Point
{
public readonly int X;
public readonly int Y;
public Point( int x, int y )
{
X = x;
Y = y;
}
}
现在,您可以创建新类型的实例并将其添加到列表中,从而简化整个过程,同时确保不会滑倒,并将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 ) );
List ls=new List();
ls.添加(新点(0,0));
增加(新的第(10,10)点);
增加(新的点(100100));
无论如何,阅读如何在C#中创建自己的数据结构是一个好主意。学习如何以易于使用的方式适当地存储数据有很多好处。听起来,您试图将数组转换为数据结构,而不是通过顺序存储值。不要这样做。了解如何利用更高级的数据结构 您提到带有
x
和y
值的点
类型。换个班怎么样
class Point
{
public readonly int X;
public readonly int Y;
public Point( int x, int y )
{
X = x;
Y = y;
}
}
现在,您可以创建新类型的实例并将其添加到列表中,从而简化整个过程,同时确保不会滑倒,并将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 ) );
List ls=new List();
ls.添加(新点(0,0));
增加(新的第(10,10)点);
增加(新的点(100100));
无论如何,阅读如何在C#中创建自己的数据结构是一个好主意。学习如何以易于使用的方式适当存储数据有很多好处。使用仅包含两个int32的元组列表:
List<Tuple<int, int>> myList = new List<Tuple<int, int>>();
var item = new Tuple<int, int>(25, 3);
myList[0] = new Tuple<int, int>(20, 9);//acess to list items by index index
myList.Add(item);//insert item to collection
myList.IndexOf(item);//get the index of item
myList.Remove(item);//remove item from collection
List myList=new List();
var项=新元组(25,3);
myList[0]=新元组(20,9)//访问按索引列出项目
myList.Add(项目)//将项目插入到集合中
myList.IndexOf(项目)//获取项目的索引
myList.Remove(项目)//从集合中删除项目
在第二个列表(如
List
或List
上使用List
的好处是,您可以显式强制列表项仅为两个整数。使用仅包含两个int32的元组列表:
List<Tuple<int, int>> myList = new List<Tuple<int, int>>();
var item = new Tuple<int, int>(25, 3);
myList[0] = new Tuple<int, int>(20, 9);//acess to list items by index index
myList.Add(item);//insert item to collection
myList.IndexOf(item);//get the index of item
myList.Remove(item);//remove item from collection
List myList=new List();
var项=新元组(25,3);
myList[0]=新元组(20,9)//访问按索引列出项目
myList.Add(项目)//将项目插入到集合中
myList.IndexOf(项目)//获取项目的索引
myList.Remove(项目)//从集合中删除项目
与第二个列表(如
List
或List
)相比,使用List
的好处在于,您可以显式强制列表项仅为两个整数。嗯,有两种类型的数组。多维数组和交错数组。您可以使用其中一种(更多关于其差异的信息,请参阅)
锯齿阵列的一个示例:
Int32[][] = new Int32[] { new Int32[] {1,2}, new Int32[] {3,4}};
多维数组的一个示例:
Int32[,] = new Int32[,] {{1,2},{3,4}};
希望能帮你把事情弄清楚一点。如果你指的是实际列表,那么看看其他答案。嗯,有两种类型的数组。多维数组和交错数组。您可以使用其中一种(更多关于其差异的信息,请参阅) 锯齿阵列的一个示例:
Int32[][] = new Int32[] { new Int32[] {1,2}, new Int32[] {3,4}};
多维数组的一个示例:
Int32[,] = new Int32[,] {{1,2},{3,4}};
希望能帮你把事情弄清楚一点。如果你的意思是实际列表,那么看看其他答案。如果你真的用x和y表示两个整数数组。您可以使用现有类或创建自己的类。然后,如果您真的在两个整数数组中使用x和y,那么您可以只使用列表或列表。您可以使用现有类或创建自己的类。然后你可以只使用一个列表或者一个列表也许一个
struct
比一个class
更适合作为一个点。@icktoofay:我一直在等别人这么说=)。我真的不想讨论值类型和引用类型。OP显然是初学者。我认为最好是尽可能简单地展示一个例子,因为他需要采取下一步,并在更深层次上自己学习这些东西。struct
可能比class
更合适。@icktoofay:我在等有人这么说=)。我真的不想讨论值类型和引用类型。OP显然是初学者。我认为最好是展示一个尽可能简单的例子,因为他将需要采取下一步,并以更高的速度自己学习这些东西