繁体   English   中英

如何将列表转换为int [] []

[英]How convert a list to int[][]

我有一个课堂作品,我在其中定义每个作品的形状。

myShape.Add(new piece
        {
            Height = 3,
            Width = 2,
            Name = "3x2 L TopRight",
            Size = 4,
            Shape = new int[][] {
                        new int[] { 1, 0 },
                        new int[] { 1, 0 },
                        new int[] { 1, 1 }
                    }
        });

但是我手工创建这些形状,现在我可以实时阅读作品,所以我创建了类似

List<int[]> virtualRow = new List<int[]>();
virtualRow.Add(new int[] { 1, 0 });
virtualRow.Add(new int[] { 1, 0 });
virtualRow.Add(new int[] { 1, 1 });

那么如何使用virtualRow创建Shape?

我尝试类似的东西

Shape = new int[][] { virtualRow.ToArray() }

但是说

无法将类型'int [] []'隐式转换为'int []'

virtualRow.ToArray() 已经是一个由int值组成的数组的数组。 您无需创建一个新的int数组并将其添加到其中。

所有你需要的是:

Shape = virtualRow.ToArray(),

virtualRow是一个List整数数组的,所以要得到整数数组,你只要写一个数组

Shape = virtualRow.ToArray();

... List.ToArray()的返回类型为T [](根据需要)。

你的代码是错误的,因为它试图添加一个int[][]Shape ,而不是创建 Shapeint[][]

您要执行以下操作:

Shape  = virtualRow.ToArray();

由于virtualRow已经是数组列表。 ToArray函数为您的virtualRow创建一个int[][]对象,您要做的就是将其存储为形状。 您试图做的是创建一个矩阵,其中是ToArray函数的结果。 这样,您只是存储给您想要的功能的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM