C# 将项目添加到列表<&燃气轮机;排序?
我有一个通用列表,并且已经完成了C# 将项目添加到列表<&燃气轮机;排序?,c#,.net,sorting,C#,.net,Sorting,我有一个通用列表,并且已经完成了 mylist.Sort(Comparison<TypeA>(delegate(TypeA a, TypeA b) { return a.Text.CompareTo(b.Text)) } mylist.Sort(比较(委托)(类型a、类型a、类型b) {返回a.Text.CompareTo(b.Text))} 在以上运行之后,我执行mylist.Add(someObject)。它的Text属性以“T”开头。列表中还有一个项目以“V”开头。它不是最
mylist.Sort(Comparison<TypeA>(delegate(TypeA a, TypeA b)
{ return a.Text.CompareTo(b.Text)) }
mylist.Sort(比较(委托)(类型a、类型a、类型b)
{返回a.Text.CompareTo(b.Text))}
在以上运行之后,我执行mylist.Add(someObject)
。它的Text
属性以“T”开头。列表中还有一个项目以“V”
开头。它不是最后添加的someObject,而是在以“V”开头的项目之前
。这让我觉得排序仍然适用。是这样吗
如果是这样,我如何将此新项目添加为最后一个项目?这肯定是错误的。
List.Sort
执行一次排序,添加其他项目会将它们添加到末尾
只有当
mylist
是SortedList
或类似的东西时,这种行为才可能发生。如果您自己没有初始化它,您应该检查运行时类型,因为即使编译时类型可能是IList
,您也可能会得到一个SortedList
。但这不太可能大错特错。List.Sort
执行一次排序,添加其他项目会将它们添加到末尾
只有当
mylist
是SortedList
或类似的东西时,这种行为才可能发生。如果您自己没有初始化它,您应该检查运行时类型,因为即使编译时类型可能是IList
,您可能会得到一个SortedList
。但这是不太可能的。是否可以添加一个s演示问题的简短但完整的程序?不,情况并非如此。List
s不是自然排序的。能否添加演示问题的简短但完整的程序?不,情况并非如此。List
s不是自然排序的。