zoukankan      html  css  js  c++  java
  • C#之LinQ数据库

    一:与LINQ有关的语言特性

      1.隐式类型

        (1)源起

          在隐式类型出现之前,

          我们在声明一个变量的时候,

          总是要为一个变量指定他的类型

          甚至在foreach一个集合的时候,

          也要为遍历的集合的元素,指定变量的类型

          隐式类型的出现,

          程序员就不用再做这个工作了。

        (2)使用方法

           来看下面的代码:    

          var a = 1; //int a = 1;
          var b = "123";//string b = "123"; 
          var myObj = new MyObj();//MyObj myObj = new MyObj()

          上面的每行代码,与每行代码后面的注释,起到的作用是完全一样的

          也就是说,在声明一个变量(并且同时给它赋值)的时候,完全不用指定变量的类型,只要一个var就解决问题了

        (3)你担心这样写会降低性能吗?

          我可以负责任的告诉你,这样写不会影响性能!

          上面的代码和注释里的代码,编译后产生的IL代码(中间语言代码)是完全一样的

          (编译器根据变量的值,推导出变量的类型,才产生的IL代码)      

        (4)这个关键字的好处:

          你不用在声明一个变量并给这个变量赋值的时候,写两次变量类型

          (这一点真的为开发者节省了很多时间)

          在foreach一个集合的时候,可以使用var关键字来代替书写循环变量的类型

         (5)注意事项

          你不能用var关键字声明一个变量而不给它赋值

          因为编译器无法推导出你这个变量是什么类型的。

      2.匿名类型

        (1)源起

          创建一个对象,一定要先定义这个对象的类型吗?

          不一定的!

          来看看这段代码

        (2)使用 

             var obj = new {Guid.Empty, myTitle = "匿名类型", myOtherParam = new int[] { 1, 2, 3, 4 } };
             Console.WriteLine(obj.Empty);//另一个对象的属性名字,被原封不动的拷贝到匿名对象中来了。
             Console.WriteLine(obj.myTitle);
             Console.ReadKey();

          new关键字之后就直接为对象定义了属性,并且为这些属性赋值

          而且,对象创建出来之后,在创建对象的方法中,还可以畅通无阻的访问对象的属性

          当把一个对象的属性拷贝到匿名对象中时,可以不用显示的指定属性的名字,这时原始属性的名字会被“拷贝”到匿名对象中

        (3)注意    

          如果你监视变量obj,你会发现,obj的类型是Anonymous Type类型的

          不要试图在创建匿名对象的方法外面去访问对象的属性!

        (4)优点

          这个特性在网站开发中,序列化和反序列化JSON对象时很有用

  • 相关阅读:
    怎样去阅读一份php源代码
    Cloudera Hadoop 4系列实战课程(电商业日志流量分析项目)
    ORACLE系列之SQL从入门到精通(全面把控数据库基础)
    jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化
    Unity3D游戏引擎实战开发从入门到精通
    中国移动:物联网项目实战开发企业级应用(ssp框架应用、EXTJS4.2、GoogleMap、JPA)
    基于OpenLayers实战地理信息系统(离线地图,通过基站转经纬度,Quartz深入,轨迹实战)
    Android自动化测试从入门到精通
    博客从新开张啦!
    python scrapy版 极客学院爬虫V2
  • 原文地址:https://www.cnblogs.com/lushilin/p/4462053.html
Copyright © 2011-2022 走看看