• 深入理解C#第二版笔记


    基础知识

    委托

    如果代码想要执行操作,但不知道操作细节,一般可以使用委托。例如:Thread类之所以知道要在一个新线程里运行什么,唯一的原因就是在启动新线程时,向它提供了一个ThreadStart委托实例。

    委托的构成

    1. 声明委托类型
    2. 创建一个要执行代码的方法
    3. 创建一个委托实例
    4. 调用(invoke)委托实例

    数据类型

    匿名类型

    var John = new { Name = "John" , Age = 23 };
    

    动态类型

    将变量声明为dynamic,编译器会对变量的几乎所有处理都区别对待,将所有绑定决策留给执行时。

    dynamic dyc = "hello";
    Console.WriteLine( dyc.Length );
    dyc = new sring[] { "hi" , "there" };
    Console.WriteLine( dyc.Length );
    

    Function委托类型及lambda表达式

    Func<int , int , string> func = ( x , y ) => ( x * y ).ToString();
    Console.WriteLine( func( 12 , 45 ) );
    

    值类型和引用类型

    对于引用类型的变量,它的值永远是一个引用。
    对于值类型的变量,它的值永远是该值类型的一个值。

    用泛型实现参数化类型

    泛型的限制

    泛型可变性的缺乏

    泛型不支持协变性,这是为了类型安全性着想,例如不能将List转换成List

  • 相关阅读:
    wx_sample.php

    手机装linux系统
    MySQL导入导出命令
    PHP对表单提交特殊字符的过滤和处理
    sublime开启php自动代码补全
    寻找Linux单机负载瓶颈
    怎样成为PHP 方向的一个合格的架构师
    说说大型高并发高负载网站的系统架构
    数据库水平分割,垂直分割,库表散列浅谈
  • 原文地址:https://www.cnblogs.com/Shoring/p/4534804.html
Copyright © 2020-2023  润新知