C#学习笔记

C#教程

类和名称空间

初识类和名称空间

  • 类的颜色:水蓝色
  • 花括号:代表名称空间
  • 小方块+树形结构:代表类
  • ctrl+句号:自动提示

类库的引用

  • 黑盒引用(DLL引用) NuGet技术

类和对象

类与对象的关系

  • 对象,实例
  • 引用变量与实例的关系:孩子和气球

类的三大成员

  • 属性 方法 事件

静态成员与实例成员

  • 静态成员:类的成员
  • 实例成员:对象的成员
  • 绑定:编译器如何把成员和类或对象关联起来 早绑定 晚绑定
  • .是成员访问操作符

C#语言基本元素

构成C#语言的基本元素

  • 关键字
  • 操作符
  • 标识符
  • 标点符号
  • 文本(字面值) L,F,D后缀
  • 注释

类型,变量,对象

  • dynamic 模仿弱类型

  • C#数据类型

    引用:类,接口,委托
    值:结构,枚举

  • 变量表示了存储位置

  • 值类型的变量存储了“实例”

  • 引用类型的变量存储了对象的地址

  • 局部变量在栈上分配内存

  • 局部变量必须进行初始化,成员变量的默认值是全零

  • 装箱与拆箱

方法

  • 方法永远是calss或struct的成员
  • ctor

方法重载

  • 方法签名:方法名+类型形参的个数+每个形参的类型和种类(值,引用,输出)

调试方法

  • 逐语句F11 逐过程F10 跳出SHIFT + F11

操作符

基本操作符

  • x.y

  • f(x)

  • a[x]

  • x++ x--

  • new

    • 匿名类型与隐式类型
    • var person = new {Name = “yan”, age=25};
    • new作为关键字,可以隐藏父类方法
  • typeof

  • default

  • checked unchecked

  • 抛出异常OverFlowException

    • 关键字用法checked{}
  • delegate

    • 声明匿名方法,已经被lamda表达式取代
  • sizeof

    • 基本结构体类型 + string + object
    • 在不安全的上下文中,可以获取自定义的结构类型
    • -> 指针 ???引用类型的局部变量不用new会怎么样

一元操作符

  • & *
  • + - 因为最小值和最大值的绝对值不一样,注意溢出 ~
  • !
  • ++ –
  • await
  • (T)
类型转换
隐式类型转换
  • 不丢失精度???int+1
  • 装箱
  • 子类->父类 多态
显式类型转换
  • 有可能丢失精度 cast,部分类型无法转换,改用convert ??? 负数->正数
    • public static explicit operator Monkey(Stone stone)
  • 拆箱
  • 使用convert类
  • 使用toString方法或各数据类型的TryParse

乘法,加法操作符

  • 与数据类型相关
  • 留心数值提升

移位操作符

  • 左移补0 右移根据正负补0或1

关系操作符

  • IS 变量所引用的实例是不是目标类型或目标类型的子类
  • AS 判断是否IS目标类型,否则返回NULL

位与 位或 位异或

条件与 条件或

NULL合并操作符

  • x ?? 0
  • Nullable<int> 相当于 int?

条件操作符

赋值和lamda表达式

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值