C#基础总结

总结

  1. C#和.NET的关系
    C#是一门开发语言,.NET是开发平台,C#利用.NET提供的类库进行开发
  2. 公共语言运行时(库)CLR
  3. 各种语言通过公共类型系统CTS→中间语言MSIL (语言无关性,共用一个开发平台)
  4. 垃圾回收机制GS,垃圾回收器是通过自主的算法自主执行垃圾回收,垃圾回收器在执行垃圾回收时,会遍历数据区域找到没有被任何指针所指向的数据区域(指向null),将其释放
  5. 即时编译器(just in time),编译中间语言。逐行讲中间语言编译为机器语言,jit 将中间语言编译为不同的机器语言,实现平台无关性
  6. 编译器 即时编译器 垃圾回收器
  7. 在同一个命名空间下就同属一个程序集。,命名空间对不同的类进行区分管理
  8. 类型
    byte 8位无符号整数,sbyte 8位有符号整数
    ushort 16位无符号整数,short 16有符号整数
    uint 32位无符号整数,int 32位有符号整数
    ulong 64位无符号整数,long 64位有符号整数
  9. 枚举 enum 取枚举项的数值:(int)enum,转换为枚举类型:enum.prase()
  10. 注释
    单行注释、多行注释、文档注释
  11. 对象的三大特点
    封装、继承、多态
  12. 三大类型: 类类型、值类型与引用类型
    值类型(int,struct,枚举,除string外简单类型)
    引用类型(string,类,数组,自定义类型,委托)
    区别 :值类型在栈上引用类型在堆上;每一个值类型对应一个数据区域,多个引用类型可能对应一个数据区域
  13. out参数与ref参数
    ref和out (将值类型当做引用类型在方法体传递)
    ref在方法外部初始化(赋值),out在方法体内部初始化(赋值)
  14. 扩展方法
    扩展方法:在不改变原有类定义的方法情况下,对类的方法进行扩展,避免了因版本的变化引起早期开发代码的不兼容问题
    1.扩展方法必须放在静态类中
    2.扩展方法必须为静态方法
    3.扩展方法传入参数必须使用this关键字修饰,后跟要扩展的类和扩展方法名)
  15. 继承
    一个子类不能继承多个父类但可实现多个接口(定义一系列行为,只能定义不能实现方法)
  16. 访问修饰符
    public 公有访问,不受任何限制
    private 私有访问,只限于本类成员访问,子类、实例都不能访问
    protected 保护访问,只限于本类和子类访问,实例不能访问
    internal 内部访问,只限于本项目内访问,其他不能访问
    protected internal 内部保护访问,只限于本项目或是子类访问,其他不能访问
  17. 泛型
    泛型方法 泛型约束 泛型类
  18. 委托与事件
    委托描述了一类方法签名相同的方法
    事件对委托的封装
  19. 观察者模式
    基于事件与委托的模式
  20. 匿名方法和Lambda表达式
  21. string 字符串操作
  22. 集合(list,字典)
  23. 错误
  24. 构造函数与析构函数(gc)

猜你喜欢

转载自blog.csdn.net/o527883184/article/details/51375063