C#程序设计.唐大仕.期中.语法小结

语法小结

思维导图

关键字

选项 内容
A 表示是子类可见的
B 表示同程序集中可见
C 表示属性或方法足属于整个类的,而不是实例的
D 表示它是一个常量
E 表示它是抽象的方法或属性,它应该被子类来实现
F 表示该方法是虚的,即可以被子类重写的
G 表示该方法是重写(覆盖)父类的方法
H 表示该类不能被能承
I 表示它是一个只读的变量它只能赋一次值, 要么在声明时赋值,要么在构造方法中赋值
关键字 含义 修饰类 修饰方法 修饰字段 修饰局部变量
abstract E \(\checkmark\) \(\checkmark\)
const D \(\checkmark\) \(\checkmark\)
internal B \(\checkmark\) \(\checkmark\) \(\checkmark\)
override G \(\checkmark\)
protected A \({\color{red}X}\) \(\checkmark\) \(\checkmark\)
readonly I \(\checkmark\)
sealed H \(\checkmark\) \(\checkmark\)
static C \(\checkmark\) \(\checkmark\) \(\checkmark\)
virtual F \(\checkmark\)

语法要素

选项 含义
A 相当于定义一个函数原型, 但是有多播的功能,也就是说它可以“内含” 多个函数
B 相当于一个变量的 setter 及 getter,但是可以进行有效性的检查或其他功能
C 相当于一个没有名字的函数,使用方括号来调用,一般用于求集合中的一个元素
D 相当于一个 inline 的函数,这个函数定义的同时就使用了,它没有名字
E 相当于一个纯的抽象类,由一系列的抽象方法构成,每个成员都是 public abtract 的
F 相当于一个值类型(ValueType)化的类它存在于 “这里”,而不是一个引用
G 相当于一个成员变量,它的类型是 delegate,但是在外面只能 +=-=,在内部才能用圆括号 () 去调用
H 一种特殊的方法,它的作用是初始化一个对象,它在调用时,前面要加个 new
I 相当于一个事物的几种可能情况,虽然在内部是用整数表示,但程序员可以用符号来表示
J 在类、方法或参数等元素上面附加一点信息,仅供编译器或调用者通过反射等方法来使用
K 是匿名方法的一种简写,它用 => 来表示
关键字 中文 含义 例子
property 属性 B int a{get;set;}
constructor 构造方法 H B b = new B();
event 事件 G class xxArgs {}
delegate void xxHandler(object sender, xxArgs e);
public event xxHandler xxHappend;
xxHanpend(this, e);
xx.xxHappend += (obj, e) => {}
index 索引 C public int this[int idx] { set{}get{} }
attribute 特性 J [Serializable] class Book {}
struct 结构 F struct STest { int a; int b; }
enum 枚举 I enum ETest { A,B,C }
interface 接口 E interface ITest{}
delegate 委托 A private delegate void DTest();
private void test1(DTest f) { f(); }
private void fun1() {}
private void ff() { test1(fun1); }
anonymous method 匿名方法 D xx.xxHappend += delegate(object obj, xxArgs e) {}
lambda expression lambda 表达式 D,K xx.xxHappend += (obj,e) =>{}