![](/img/trans.png)
[英]windows 8 metro apps Convert WriteableBitmap to byte[] Issue C#
[英]Successor of ArrayList in Windows 8 Metro Apps C#
我想在我的数组中使用行和列删除方法。 因此,我想将我的数组转换为ArrayList
以使用RemoveAt(int index)
方法,但在使用.NET 4.5的Windows 8应用程序中,没有ArrayList
。 你能给我一个建议如何将我的简单int[,]
数组转换为另一种类型,它有一个行和列删除方法吗?
您可以使用列表列表:
List<List<int>> array = new List<List<int>>();
并按如下方式初始化它
for (int i = 0; i < orig_array.Length, i++)
{
array.Add(new List<int>(orig_array[i]));
}
使用这种方法, array.RemoveAt(row)
将删除整行,而array[row].RemoveAt(col)
将删除一个元素。
编辑:正如phoog所指出的,上述初始化需要针对声明为int [,]的数组进行修改,如下所示:
for (int row = 0; row < orig_array.GetLength(0), row++)
{
array.Add(new List<int>());
for (int col = 0; col < orig_array.GetLength(1); col++)
{
array[row].Add(orig_array[row, col]);
}
}
在这种情况下使用锯齿状数组(而不是矩形数组)的优点是能够访问整个行,而无需显式循环遍历值。
已从WinRT中删除ArrayList和所有非泛型集合。 此链接在这里将帮助您更换ArrayList中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.