2026-07-11
CSharp编程
0

前言

前面介绍了C#中的委托,事件的很多部分都与委托类似。实际上,事件就像是专门用于某种特殊用途的简单委托,事件包含了一个私有的委托,如下图所示:

图片.png

有关事件的私有委托需要了解的重要事项如下:

1、事件提供了对它的私有控制委托的结构化访问。我们无法直接访问该委托。 2、事件中可用的操作比委托要少,对于事件我们只可以添加、删除或调用事件处理程序。 3、事件被触发时,它调用委托来依次调用调用列表中的方法。

有关事件的概念

  • 发布者(Publisher):发布某个事件的类或结构,其他类可以在该事件发生时得到通知。
  • 订阅者(Subscriber):注册并在事件发生时得到通知的类或结构。
  • 事件处理程序(event handler):由订阅者注册到事件的方法,在发布者触发事件时执行。
  • 触发(raise)事件:调用(invoke)或触发(fire)事件的术语。当事件触发时,所有注册到它的方法都会被依次调用。
2026-07-11
CSharp编程
0

一、什么是抽象方法?

抽象方法是一种没有方法体(没有具体实现)的方法,它只定义了方法的签名(返回类型、方法名、参数),而具体的实现留给派生类去完成。

基本语法

csharp
// 抽象方法必须在抽象类中 public abstract class Animal { // 抽象方法:没有方法体,以分号结束 public abstract void MakeSound(); // 普通方法:可以有具体实现 public void Eat() { Console.WriteLine("动物正在进食"); } }
2026-07-11
CSharp编程
0

常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。常量可以被当作常规的变量,只是它们的值在定义后不能被修改。

1、整数常量

整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

整数常量也可以有后缀,可以是 U 和 L 的组合,其中,U 和 L 分别表示 unsigned 和 long。后缀可以是大写或者小写,多个后缀以任意顺序进行组合。

这里有一些整数常量的实例:

csharp
212 /* 合法 */ 215u /* 合法 */ 0xFeeL /* 合法 */ 078 /* 非法:8 不是一个八进制数字 */ 032UU /* 非法:不能重复后缀 */