01. 学习笔记01

2019.12.27

config配置

  config读取的是当前项目下的配置

索引器

密闭类与静态类

  sealed: 不能有子类

  static: 无法new,无法创建子类,只能声明static成员

扩展方法

  给固定的类增加新的方法

  所在的类必须是static类  

  扩展方法的第一个参数类型是被扩展的类型,类型前面标注this

  使用扩展方法的代码必须添加对扩展方法所在类饿namespace的using

  扩展方法最终其实还是被编译器处理成普通静态方法的调用

  扩展方法由于本质上还是静态方法的调用,所以不能访问类饿外部访问不了的 成员

深拷贝、浅拷贝

结构体

值类型、引用类型

  值类型:派生自System.ValueType(ValueType也是继承自object,不过是特立独行的一个分支)

      数值类型(int、long、double、float、char)、bool、结构、枚举

  引用类型:派生自System.Object

      字符串、数组、类、接口等

  区别:引用类型变量的赋值只复制对对象的引用;引用类型在堆内存;

     值类型赋值会拷贝一个副本;值类型在栈内存;值类型一定是sealed;

CTS、CLS、CLR

2019.12.28

拆箱和装箱

  装箱:值类型赋值给Object类型变量的时候,会发生装箱,包装成Object

  拆箱:Object类型变量给值类型赋值的时候会发生拆箱,需要做显示转换 

Equals方法 

字符串缓冲池

ref 与 out

  ref的目的是在函数内部改变外部变量的指向,变量传递之前必须被赋值

  out的目的是函数返回多个返回值,变量传递之前不需要被赋值,在方法内部必须给out参数赋值

委托

  委托是一种数据类型,可以声明委托类型变量。

  委托是一种可以指向方法的数据类型

  声明方式:delegate 返回值类型 委托类型明(参数)

       delegate void MyDel(int n)  若使用委托,则方法返回值与参数和声明委托的返回值与参数需要一致

 

 

 

 

 

XML

  语法特点:

    1. 严格区分大小写

    2. 有且只能有一个根节点

    3. 有开始标签必须有结束标签,除非自闭合:<Person/>

    4. 属性必须使用双引号

    5. 文档声明:<?xml version="1.0" encoding="utf-8"?>

    6. 注释:<!-- -->

    7. 注意编码问题,文本文件实际编码要与文档声明中的编码一致

  读取XML

  生成XML0

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-12-27 14:36  Zzzzzz~  阅读(129)  评论(0)    收藏  举报