添加项目到列表<>排序
本文关键字:排序 列表 项目 添加 | 更新日期: 2023-09-27 18:16:45
我有一个通用列表,并已完成
mylist.Sort(Comparison<TypeA>(delegate(TypeA a, TypeA b)
{ return a.Text.CompareTo(b.Text)) }
在上面的运行之后,我执行mylist.Add(someObject)
。它的Text
属性以"T"开头。列表中还有一个项目以"V"
开头。而不是最后添加someObject,它就在以"V"
开头的项目之前。这让我认为这种情况仍然适用。是这样吗?
如果是,我如何将这个新项目添加为最后一个?
这绝对是错误的。List<>.Sort
执行一次排序,添加额外的项将把它们添加到末尾。
此行为仅在mylist
是SortedList
或类似的情况下才有可能。如果您没有自己初始化它,则应该检查运行时类型,因为即使编译时类型可能是IList
,您也可能得到SortedList
。但这不太可能。