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) =>{} |