摘要:
1. sealed,密封的意思,可以用来修饰类和方法。 密封类,表示该类不能被继承,密封方法,表示该方法不能被重写。 sealed必须始终与override一起使用。 一般不把类或方法标记为sealed,这么做会限制他的使用。2. virtual,虚拟的意思,可以用来修饰方法和属性。 虚方法可以有自己的实现,派生类中可以通过override重写基类的虚方法。 virtual不可与static, abstrack, override一起使用3. abstract, 抽象的意思,可以用来修饰类,方法, 属性, 索引器,事件。 抽象类只能是其他类的基类; 只允许在抽象类中使用抽象方法; 抽象函数没有 阅读全文
摘要:
相同点:1. 都是用来标识常量不同点:1. 初始化的方式不同const必须在声明的同时进行赋值readonly可以在声明或构造函数中进行赋值,其他地方不能赋值操作readonly是实例成员,不同的实例可以有不同的值初始化2. const是编译是常数,readonly是运行时常数const必须编译的时候就可以确定其具体的值,且修改后所有引用到的地方都必须重新编译readonly可以等到运行时再确定其值,从而灵活度更大3. const默认就是静态的,readonly如果要声明为静态必须显示声明4. 应用类型只有string和值为null的引用类型才能够声明为const,而readonly可以为任意 阅读全文
摘要:
简单正则表达式1. ?→匹配零次或一次 eg.colou?r会同时匹配color和colour2. *→匹配零次或多次 eg.ABC\d*会匹配ABC, ABC1, ABC12,....3. +→匹配一次或多次前面的块,至少匹配一次 eg.ABC\d+会匹配ABC1, ABC12...但不会匹配ABC4. {n}→重复大括号前面n次 eg.ABC\d{3}匹配ABC123,以及ABC123455中的红色部分5. {n,m}→至少重复匹配大括号前面的n次,至多m次(n<=m) eg.A\d{2,3}匹配A12, A123, A123456. {n,}→至少匹配n次,至多匹配无限次 eg.A 阅读全文