LinQ 使用案例1

            DataTable dt = new DataTable();
            int n = 3;
            //用来进行排序的字符串
            string myDictionary = "HERABMWSUG";
            //对数据进行内部转换并排序后得到需要的数据
            //将datatable转成System.Collections.Generic.IEnumerable<T>
            var result = from r in dt.AsEnumerable()
                         //用"用地性质代码"的首位字母在myDictionary中的位置来排序
                         orderby myDictionary.IndexOf(r.Field<string>("用地性质代码").Substring(0, 1))
                         //并按"用地性质代码"的子串进行分组
                         group r by r.Field<string>
                         ("用地性质代码").Substring
                            (0, 
                            n < r.Field<string>("用地性质代码").Length ? n : r.Field<string>("用地性质代码").Length) 
                            into g
                         select new
                         {
                             //用地性质
                             g_LandProperty = g.Key,
                             //获取字段“面积”之和
                             g_ParcelArea = g.Sum(r => r.Field<double>("面积")),
                         };
原文地址:https://www.cnblogs.com/swtool/p/3841358.html