深入理解C# 第二章(C#1所搭建的核心基础)

博客围绕C#展开,总结了委托相关内容,如委托封装行为、类型签名决定方法和调用签名等;阐述了C#类型系统特征,包括静态、显示、安全等;还对值类型和引用类型进行小结,涉及值的含义、存储位置、参数传递及装箱拆箱等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 委托总结

  • 委托封装了包含特殊返回类型和一组参数的行为,类似包含单一方法的接口
  • 委托类型声明中所描述的类型签名决定了哪个方法可用于创建委托实例,同时决定了调用的签名
  • 为了创建委托实例,需要一个方法以及调用方法的目标
  • 委托实例是不易变的
  • 每个委托都包含一个调用列表---一个操作列表
  • 委托实例可以合并在一起,也可以从一个委托实例中删除另一个
  • 事件不是委托实例---只是成对的add/remove方法

类型系统特征总结

  • C#1是静态类型的
  • C#1是显示的
  • C#1是安全的
  • 静态类型仍然不允许一个集合成为强类型的“字符串列表”或者“整数列表”,除非针对不同的元素使用大量的重复代码
  • 方法覆盖和接口实现不允许协变性/逆变性

值类型和引用类型小结

  • 对于引用类型的表达式,它的值是一个引用,而非对象
  • 引用就像url,是允许你访问真实信息的一小片数据
  • 对于值类型的表达式,他的值是实际的数据
  • 有时,值类型比引用类型更有效,有时恰好相反
  • 引用类型的对象总是在堆上,值类型的可能在栈上,也可能在堆上,具体取决于上下文
  • 引用类型作为方法参数使用时,参数默认是“值传递”的方式来传递,但值本身也是个引用
  • 值类型的值会在需要引用类型的行为时装箱,拆箱恰好相反

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值