我在c#中声明了一个链表数组,现在我想删除索引I中不等于first或last的元素。我该怎么做?
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);
现在,我想从我的arraylinkedlist中删除Arraylinked[2]。怎么能做到?
DataTable node = Arraylinked.First;
int index = 0;
while (node != null) {
DataTable nextNode = node.Next;
if (index == 2) {
Arraylinked.Remove(node);
}
node = nextNode;
index++;
}
或者您可以使用相同的代码,但条件不同,在不知道索引的情况下通过其引用删除项。
你不能从数组中"移除"
您可以尝试使用Linq:
按索引进行过滤。Arraylinked = Arraylinked
.Where((idx, item) => idx != 2)
.ToArray();