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

浙公网安备 33010602011771号