linq做的几道题目

 //1 找出所有大于20的元素
            int[] nums = { 30, 5, 99, 77, 102, 8, 12, 35 };
            var result = from v in nums
                         where v > 20
                         select v;
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }

 ////取出现次数最多的三个数
            int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };
            var result = from v in values
                         group v by v into g//取出来的元素做为一组g
                         orderby g.Count() descending//排序
                         select g;

//去掉最高分去掉最低分求平均值
        static void Main(string[] args)
        {

            int[] nums = { 321,4324,5435,645,23,43,54543,666};
            var restul = nums.Where(n => n < nums.Max() && n > nums.Min()).Select(n=>n).Average();//lambda表达式
            Console.WriteLine(restul);

            var result = from v in nums//linq做的
                         where v > nums.Min() && v < nums.Max()
                         select v;
            Console.WriteLine(result.Average());

posted @ 2011-05-19 18:07  winchou  阅读(425)  评论(0编辑  收藏  举报