假设我在一个列表中有 3 个字符串(例如“1”、“2”、“3”)。
然后我想重新排列它们以将“2”放在位置 1(例如“2”、“1”、“3”)。
我正在使用此代码(将 indexToMoveTo 设置为 1):
listInstance.Remove(itemToMove); listInstance.Insert(indexToMoveTo, itemToMove);
这似乎有效,但我偶尔会得到奇怪的结果;有时订单不正确或列表中的项目被删除!
有任何想法吗?List<T>保证订货吗?
List<T>
List 是否保证项目将按照添加的顺序返回?
该类List<>确实保证排序 - 除非您明确对列表进行排序,否则事物将按照您添加它们的顺序保留在列表中,包括重复项。
List<>
根据 MSDN:
…List “表示可以 通过 index 访问的强类型对象列表。”
索引值必须保持可靠才能准确。因此,订单是有保证的。
如果您在列表中稍后移动该项目,您的代码可能会得到奇怪的结果,因为您Remove()将在调用Insert().
Remove()
Insert()
你能把你的代码归结为小到可以发布的东西吗?