码迷,mamicode.com
首页 > 其他好文 > 详细

LINQ基础

时间:2014-06-14 17:05:08      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:des   style   class   blog   code   color   

 1             var i1 = 6;
 2             //C#中的var是一个类型的简写,是根据右边进行类型的“推导”
 3             //可以根据6推断出来var代表int,只是编译器自动帮我们把var换成int
 4 
 5             //i1 = "bbbb"; //不可以
 6 
 7             object o1 = 6;
 8             o1 = "bbb";//可以,object可以指向任意类型
 9 
10 
11             //var专门为匿名类型而生
12             var p = new { Age = 5, Name = "tom" };//声明匿名类型的两个属性
13             //并且创建匿名类型的一个对象,然后为对象的各个属性赋值(通过构造函数)
14             Console.WriteLine(p.Name);//p是匿名类型的对象
15 
16             //成员一致的匿名类型会重用
17             //编译器只生成了两个类,p和p1共用一个,p2单独用一个
18             var p1 = new { Age = 6, Name = "jim" };
19 
20             //由于参数类型不一致
21             var p2 = new { Father = "tom", Mother = "lucy" };
22 
23 
24             object p3 = new { Father = "tom", Mother = "lucy" };//也可以,object可以指向任意类型
25             //p3.Mother; //这样写不可以,因为不知道p3.Mother是什么类型。

=========================进化前:var为匿名函数服务,匿名函数为linq服务==============

 1             int[] values = { 3, 5, 9, 8, 2, 20, -5, -9, 306 };
 2 
 3             //过滤掉负数,把数组排序,然后元素两边加[]输出
 4 
 5             var e1 = values.Where(i => i > 0).OrderBy(i => i)
 6                 .Select(i => "[" + i + "]");
 7             foreach (var i in e1)
 8             {
 9                 Console.WriteLine(i);
10             }

==============================进化:微软V5,效率更高更清晰====================

            ///编译器玩花招
            //执行顺序是从上到下
            var e1 = from i in values//foreach(int i in values)                     
                     where i > 0
                     orderby i descending//降序排列
                     select "[" + i + "]";
            //基于类型推断的考虑,select在最后,from在最前
            foreach (var i in e1)
            {
                Console.WriteLine(i);
            }

 

LINQ基础,布布扣,bubuko.com

LINQ基础

标签:des   style   class   blog   code   color   

原文地址:http://www.cnblogs.com/skyl/p/3787922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!