- 对于普通的int型列表List,如下
List<int> list = new List<int>();
list.Sort(); // 升序排序
list.Reverse(); // 降序排序:先升序排序,再反转顺序
- 对于Class型的列表List,根据类的某一属性进行排序,如下
//使用lambda表达式,在前面加个负号就是降序了
public class WorkInfo
{
public int m_WorkID;
}
List<WorkInfo> m_TestList = new List<WorkInfo>();
m_TestList.Sort((x, y) => x.m_WorkID.CompareTo(y.m_WorkID)); //升序排序
m_TestList.Sort((x, y) => -x.m_WorkID.CompareTo(y.m_WorkID)); //降序排序
如果是这种情况:
Dictionary<int,WorkInfo> dict = new Dictionary<int,WorkInfo>();
List<int> testList = new List<int>();
testList.Sort((x, y) => dict[x].m_WorkID.CompareTo(dict[x].m_WorkID)); //升序排序 =》 这样通过id去找到对象,比较对象里的m_WorkID值排序,这样的做法是没有用的