在向大家详细介绍XX之前,首先让大家了解下Linq查询本质,包括介绍自动属性、初始化器和具有隐式类型的局部变量。

成都创新互联是专业的兴业网站建设公司,兴业接单;提供成都网站设计、做网站、成都外贸网站建设公司,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行兴业网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
本文的目的是帮助大家搞清楚C#3.0里面的Linq查询表达式的来龙去脉,搞清楚以后对C#3.0的新特性基本上也就了然于胸了。建议大家看完Linq查询后再看各个语法新特性对Linq的意义,这样会更加有帮助一些。
1.自动属性
- class Class
 - {
 - //C#2.0 属性
 - //private int _id;
 - //public int ID
 - //{
 - //get {
 - //return _id;
 - //}
 - //set
 - //{
 - //_id = value;
 - //}
 - //}
 - //C#3.0 属性 可以给get set加访问修饰符
 - public int ID { get; private set; }
 - public string Name { get; set; }
 - public Class(int id)
 - {
 - //加了private之后的属性只能在类的内部访问
 - this.ID = id;
 - }
 - }
 
Linq查询本质:和原来的属性没啥两样 ,简化了语法而已。
2.初始化器
- private static void Initializer()
 - {
 - //C#2.0 对象初始化
 - //Class c = new Class(1);
 - //c.Name = "***一班";
 - //C#3.0 对象初始化器
 - Class c = new Class(1) { Name = "***一班" };
 - //C#2.0 集合初始化
 - //ClassCollection list = new ClassCollection();
 - //list.Add(c);
 - //C#3.0 集合初始化器
 - ClassCollection list = new ClassCollection
 - {
 - new Class(1) { Name="***一班"},
 - new Class(2){Name="***二班"}
 - };
 - foreach (Class item in list)
 - {
 - Console.WriteLine(item.ID + " " + item.Name);
 - }
 - }
 
Linq查询本质:和原来的构造函数初始化或构造后通过属性初始化没啥两样 ,简化了语法而已。
3.具有隐式类型的局部变量
- private static void Var()
 - {
 - var i = 1;
 - // 编译过后的结果实际是 int i=1;
 - var并不是动态变量,它的类型实际上是c#编译器通过上下文推断是int
 - //var i = DateTime.Now;
 - //编译不过,和JavaScript不一样
 - var d = DateTime.Now;
 - //=后面支持各种类型
 - var a = new int[] { 1, 2, 3 };
 - //var也支持数组
 - foreach (var item in a)
 - //item的类型通过C#编译器推断得知是int
 - {
 - Console.WriteLine(i);
 - }
 - //var x;
 - // 错误,没有用来推断类型的初始化器
 - //var y = { 1, 2, 3 };
 - // 错误,不允许使用集合初始化器
 - //var z = null;
 - // 错误,不允许出现空类型
 - }
 
Linq查询本质:var并非动态类型 ,C#仍然是静态语言,引入var方便我们写代码了,可以不管“=”后面的赋值表达式类型了,由编译器自己去推断生成对应类型了。
【编辑推荐】
                分享题目:Linq查询本质简单分析
                
                本文链接:http://www.csdahua.cn/qtweb/news8/195908.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网