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