想用ResultList.Sort()方法按CityCode字段排序后,再循环读取数据,请前辈指导!

解决方案 »

  1.   


            class Test
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }
            static void Main(string[] args)
            {
                List<Test> pList = new List<Test>();
                pList.Sort((x, y) => x.Name.CompareTo(y.Name));
                pList.Sort((x, y) => x.Age - y.Age);
            }依葫芦画瓢吧,传入两个要比较的对象,后面的表达式是比较方式,结果为int值。
      

  2.   

    循环:
    pList.ForEach(item => Console.WriteLine(item.Name));
    这东西吧,也不太好讲解。
    这些都是属于Linq,lambda表达式。
    方法中传入一个委托,lambda表达式就是一个委托,只要符合参数所需要的声明就可以了。
      

  3.   


            class Test
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }        static int myComparison(Test t1, Test t2)
            {
                return t1.Age - t2.Age;
            }        static void Main(string[] args)
            {
                List<Test> pList = new List<Test>();
                Comparison<Test> tc = new Comparison<Test>(myComparison);
                pList.Sort(tc);
                //pList.Sort((x, y) => x.Name.CompareTo(y.Name));
                //pList.Sort((x, y) => x.Age - y.Age);
                //pList.ForEach(item => Console.WriteLine(item.Name));
            }上面这种写法和下面这一句是完全一个意思。
    pList.Sort((x, y) => x.Age - y.Age);=>就是lambda表达式,可以读者goes to,
    前面是参数(相当于方法中的参数),后面是操作(相当于方法体)        (x, y) => x.Age - y.Age
    上面这句代码,会生成下面这一段:
            Comparison<Test> tc = new Comparison<Test>(myComparison);
            static int myComparison(Test t1, Test t2)
            {
                return t1.Age - t2.Age;
            }
      

  4.   

    foreach (var _item in resultList.OrderBy(x => xCityCode))
    {
        ...
    }
      

  5.   

    参考msdn:
    Enumerable.OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
    http://msdn.microsoft.com/en-us/library/bb534966.aspx
      

  6.   

    ResultList..OrderBy(t => t.CityCode)