gpt4 book ai didi

c# - List 是否保证插入顺序?

转载 作者:IT王子 更新时间:2023-10-29 03:29:15 39 4
gpt4 key购买 nike

假设我在一个列表中有 3 个字符串(例如“1”、“2”、“3”)。

然后我想将它们重新排序以将“2”放在位置 1(例如“2”、“1”、“3”)。

我正在使用这段代码(将 indexToMoveTo 设置为 1):

listInstance.Remove(itemToMove);
listInstance.Insert(indexToMoveTo, itemToMove);

这似乎可行,但我偶尔会得到奇怪的结果;有时顺序不正确或列表中的项目被删除!

有什么想法吗?是否List<T>保证订单?

相关:

Does a List<T> guarantee that items will be returned in the order they were added?

最佳答案

List<> 类确实保证排序 - 事物将按照您添加它们的顺序保留在列表中,包括重复项,除非您明确地对列表进行排序。

根据 MSDN:

...List "Represents a strongly typed list of objects that can be accessed by index."

索引值必须保持可靠才能准确。因此顺序是有保证的。

如果您将项目移到列表的后面,您的代码可能会得到奇怪的结果,因为您的 Remove() 将在调用 Insert() 之前将所有其他项目下移一个位置.

您能否将您的代码精简到足以发布的代码?

关于c# - List<T> 是否保证插入顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043039/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com