首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows8 Metro Apps C#中ArrayList的后继者

Windows8 Metro Apps C#中ArrayList的后继者
EN

Stack Overflow用户
提问于 2012-09-27 07:44:05
回答 2查看 2K关注 0票数 0

我想在我的数组中使用行和列删除方法。因此,我希望将数组转换为ArrayList以使用RemoveAt(int index)方法,但在使用Windows4.5的Windows8Apps中没有ArrayList。你能给我一个建议,如何将我的简单int[,]数组转换为另一种类型,该类型具有行和列删除方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-27 07:49:50

您可以只使用列表列表:

代码语言:javascript
运行
复制
List<List<int>> array = new List<List<int>>();

并按如下所示进行初始化

代码语言:javascript
运行
复制
for (int i = 0; i < orig_array.Length, i++)
{
    array.Add(new List<int>(orig_array[i]));
}

使用这种方法,array.RemoveAt(row)将删除整行,而array[row].RemoveAt(col)将删除元素。

EDIT:正如phoog所指出的,需要为声明为int的数组修改上述初始化,如下所示:

代码语言:javascript
运行
复制
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]);
    }
}

在这种情况下,使用锯齿数组(相对于矩形数组)的优点是能够访问整个行,而不需要显式地遍历这些值。

票数 2
EN

Stack Overflow用户

发布于 2012-09-27 10:56:06

已从WinRT中删除的ArrayList和所有非泛型集合。此链接here将帮助您替换数组列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12612083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档