添加项目到列表<>排序

本文关键字:排序 列表 项目 添加 | 更新日期: 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执行一次排序,添加额外的项将把它们添加到末尾。

此行为仅在mylistSortedList或类似的情况下才有可能。如果您没有自己初始化它,则应该检查运行时类型,因为即使编译时类型可能是IList,您也可能得到SortedList。但这不太可能。