链表数组c#
我在C#中声明了一个链表数组,现在我想删除索引I中不等于first或last的元素。我该怎么做链表数组c#,c#,linked-list,C#,Linked List,我在C#中声明了一个链表数组,现在我想删除索引I中不等于first或last的元素。我该怎么做 LinkedList<DataTable>[] Arraylinked= new LinkedList<DataTable[1000]; Arraylinked[0].AddLast(data table11); Arraylinked[1].AddLast(data table12); Arraylin
LinkedList<DataTable>[] Arraylinked= new LinkedList<DataTable[1000];
Arraylinked[0].AddLast(data table11);
Arraylinked[1].AddLast(data table12);
Arraylinked[2].AddLast(data table13);
Arraylinked[3].AddLast(data table14);
LinkedList[]Arraylinked=新建LinkedList
或者,您可以使用具有不同条件的相同代码通过其引用删除项,而不知道索引 不能从数组中“删除”
您可以尝试使用Linq按索引进行筛选:
Arraylinked = Arraylinked
.Where((idx, item) => idx != 2)
.ToArray();
但是,这会产生创建全新阵列的成本。您看过文档了吗?你确定你想要一个链接列表吗?为什么不仅仅是一个标准的列表
?一个人不应该真正使用索引来访问链接列表的元素
。他没有使用链接列表-他使用的是链接列表的数组。我建议你看看这里:。这将有助于您以比使用循环更有效的方式解决问题。不是my DV,但如果您需要此功能,通常您会希望将数据结构从数组更改为其他类型,而不是每次需要添加/删除值时不断重新创建整个数组。
Arraylinked = Arraylinked
.Where((idx, item) => idx != 2)
.ToArray();