zoukankan      html  css  js  c++  java
  • 自动属性、隐式类型var、初始化器、隐式类型、扩展方法 委托、匿名方法、lambda表达式、内置委托

    隐式类型 var 一 般是 配合 匿名类型来用的 。
     
    ef 会用到的 查询 linq查询linq查询的时候,大量用到匿名类型
     
    问:为什么定义类?
    答:完成对数据的封装。
     
    这些类从哪来,不是凭空出现。是和数据库的表对应的 。
    a.对于必须值,用构造方法完成初始化
    b.对于非必须值,使用初始化器。
     
     
    集合初始化器中 嵌套着对象初始化器
     
     
    当类型 只使用一次的时候:我们可以使用匿名类型。
     
    就是个简化形式。匿名类型是个语法糖。
    因为类型只使用一次,我们不需要专门的声明一个类型。
    在使用的时候,写这个类型就行了。
     
    有一个问题:
    这个类型没有名字,那么如何声明一个变量,指向这个类型的对象?
    答:使用var
     
    虽然我们写的时候,匿名类型是没有名字的
    但是在编译的时候,这个类型是实实在在存在的
     
    匿名类型的使用,借助了隐式类型var初始化器
     
    匿名类型,可以定义数据成员、定义不了函数成员
     
    匿名类型帮助我们进行 数据的快速封装。
     
    代码实现

     

     

    4.扩展方法

    扩展方法的定义:为一个类无侵入式的扩展一个新的方法。
     
     
    后面我们会大量使用到扩展方法。
     
     
    代码实现:
     

     

     

     5. 委托

    委托是个类型。 和 class 一个级别的
     
    数据的类型:类和接口。
    方法的类型:委托。
     
    lambda表达式的本质:是一种 对 匿名方法的简写。
     
    lambda 表达式的作用: 完成 对委托的赋值
     
    lambda 也是一种语法糖 。
     
    有了委托之后,我们可以将方法,作为方法的参数进行传递。
    linq查询,这个用的非常多。
     
    代码实现:
     

     

  • 相关阅读:
    电脑网络连接正常,无法连接浏览器,无法上网
    幂等性
    jvm问题解决
    Mybatis设计模式
    单进程单线程的Redis如何能够高并发
    分布式锁(Zookeeper)
    MyBatis 的 DAO 接口跟 XML 文件里面的 SQL 是如何建立关系的
    ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景
    时间函数-线程安全
    socket
  • 原文地址:https://www.cnblogs.com/bingyizhihun/p/14726165.html
Copyright © 2011-2022 走看看