入门day1

int[] arr = new int[]{1, 3, 5, 7 ,9};
            var result = from s in arr where s < 5 select s;
            //from select in 为组成不可缺少的关键字
            //这里通过var隐式的定义返回结果 当然我们可以指定具体的类型 iEnumable<int>
            //因为我们知道数组的类型 大多数情况下可以通过var让程序自动判定返回的类型
            // 其中 s 默认识别类型为int 当然我们也可以定义一个明确的类型 比如object
            IEnumerable<object> result2 = from object ss in arr select ss;
            
            foreach (int t  in result) {
                Console.WriteLine(t);

            }
            foreach (var tt in result2) {
                Console.WriteLine(tt.GetType()); //int32 自动识别
            }
            // linq查询只是将查询语句放进临时变量中,真正的查询要在以后的循环中执行
            // 这种查询方法为延迟查询 与其对立的为 立即强制查询
            Console.WriteLine(result2.Count());
            Console.WriteLine(result2.First());
            Console.WriteLine(result2.Last());
            Console.WriteLine(result2.Max());
            // 以上类似这些的只能返回单个值
            var result3 = (from tt in arr select tt).ToList();
            Console.WriteLine(result3.GetType());
            // 通过toList() toArray() 缓存结果集
            Console.ReadKey(true);
原文地址:https://www.cnblogs.com/alplf123/p/7885555.html