我有一个通用列表,并已完成
mylist.Sort(Comparison<TypeA>(delegate(TypeA a, TypeA b)
{ return a.Text.CompareTo(b.Text)) }
Run Code Online (Sandbox Code Playgroud)
经过上述运行,我做到了mylist.Add(someObject).它的Text属性以"T"开头.列表中还有一个以项目开头的项目"V".它不是最后添加的someObject,而是在项目开始之前"V".这让我觉得这种情况继续适用.是这样的吗?
如果是这样,我如何添加这个新项目作为最后一个?
这绝对是错误的. List<>.Sort执行一次排序,添加其他项目将添加到最后.
如果这种行为只可能mylist是一个SortedList或类似的东西.如果你没有自己初始化它,你应该检查运行时类型,因为即使编译时类型可能是IList,你可能会得到一个SortedList.但这不太可能.