C# 部分关键字
关键字:
virtual: 虚方法,本身可以被实例化,也可以在派生类中重写该方法;
override:在派生类重写基类虚方法时声明,避免了C++中的潜在运行错误;
abstract:声明为抽象类、抽象方法,不能实例化;
sealed: 不可被继承类、不能被重写方法;
param: 表示函数参数为一维数组,且可以支持特殊写法,如 void myAdd(param int[] xarray); -> void myAdd(1, 2, 3); 值得注意的是匿名函数以param声明参数,重载会出现不识别该函数的问题。
修饰符:
protected:只有本身与派生的类型能够访问;
private:只能在所属类型内能够访问;
internal:只能在包含它的程序集中访问;
接口:
语法声明与抽象类完全相同,但不允许提供接口中任何成员的实现;
定义接口时不允许包含重载运算符;
一般用 Ixxx(); 定义;
接口继承:
类继承接口:必须实例化所有成员与方法;
接口继承接口:新接口会拥有原接口的所有成员与自己的新成员;
Interface 与 Abstract 的区别:
借用一张java的区别,与C#有差别,但主体概念上差不多。

借用以上总结,C# 主要的差别在于:
1. 类不能多重继承,接口可以多重继承;
2. 类的成员可公有可私有,接口则都是公有;
is 与 as 操作符:
is:检查一个对象是否兼容于指定类型,并返回一个 Boolean 值;
as: 进行强制类型转换,能转换则返回实例,不能则返回 null;将 if(obj is ClassA){ Class A = (ClassA)obj; } 合并为了同一句:ClassA A = obj as ClassA;
C#5.0 异步关键字:
await:异步操作符,调用异步方法时使用,会启动一个新线程去执行;
async:异步方法声明符,被该符号生命的方法,调用时需要使用 await 操作符,没有 await 的话将会被同步执行;
c ? x:y - c 条件成立,则返回x,否则返回y
x??y - 当 x 为 null 时返回 y,否则返回x
C# 部分关键字的更多相关文章
- 作为一个新手的Oracle(DBA)学习笔记【转】
一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cm ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- java面向对象中的关键字
1,super关键字 super:父类的意思 1. super.属性名 (调用父类的属性) 2. super.方法名 (调用父类的方法) 3. super([参数列表])(调用父类的构造方法) 注意: ...
- 关于javascript中的this关键字
this是非常强大的一个关键字,但是如果你不了解它,可能很难正确的使用它. 下面我解释一下如果在事件处理中使用this. 首先我们讨论一下下面这个函数中的this关联到什么. function doS ...
- transient关键字的用法
本篇博客转自 一直在路上 Java transient关键字使用小记 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java ...
- Java关键字:static
通常,当创建类时,就是在描述那个类的外观和行为.只有用new创建类的对象时,才分配数据存储空间,方法才能被调用.但往往我们会有下面两种需求: 1.我想要这样一个存储空间:不管创建多少对象,无论是不创建 ...
- Core Java 总结(关键字,特性问题)
2016-10-19 说说&和&&的区别 初级问题,但是还是加入了笔记,因为得满分不容易. &和&&都可以用作逻辑与的运算(两边是boolean类型), ...
- Net中的常见的关键字
Net中的关键字有很多,我们最常见的就有new.base.this.using.class.struct.abstract.interface.is.as等等.有很多的,在这里就介绍大家常见的,并且有 ...
- php多关键字查询
php单一关键字查询 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 tdansitional//EN" "http: ...
- Keil> 编译器特有的功能 > 关键字和运算符 > __weak
__weak 此关键字指示编译器弱导出符号. 可以将 __weak 关键字应用于函数和变量声明以及函数定义. 用法 函数和变量声明 对于声明,此存储类指定一个 extern 对象声明,即使不存在,也不 ...
随机推荐
- Eucalyptus安装包的功能列表
aoetools 是一个用来在以太网上运行 ATA 存储协议的软件,相当于一个网络存储功能.euca2ools eucalpytus客户端杜昂管理工具axis2c SOAP引擎,同 ...
- PHPExcel内存泄漏问题
使用 PHPExcel 来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的 excel 文档保存来避免内存耗尽. 然而 PHPExcel 存在 circu ...
- D - Silver Cow Party
题目大意: 在一个农场里面所有的牛都会来参加大牛举办的派对,不过农场的路都是单向的,而且每头牛都喜欢都最短的路程,那么问题来了,求出来来回花费时间最多的那头牛所用的时间... //////////// ...
- sqlserver使用户只能在某个架构下建立表和存储过程
1.首先,建立一个用户之后,默认的架构是dbo,默认的角色是public.这种情况下,这个用户将看不到dbo以及其他架构下的对象.除非单独进行授权. 2.新建一个架构test,然后使得这个架构的所 ...
- 最常用的Eclipse快捷键【转载】
本文是一些最实用.最齐全.最省时间的 Eclipse 快捷键总结,这些快捷键可以让帮助你完成工作中的任何一个操作.欢迎参考. 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间 ...
- 1002 A + B Problem II [ACM刷题]
这一段时间一直都在刷OJ,这里建一个博客合集,用以记录和分享算法学习的进程. github传送门:https://github.com/haoyuanliu/Online_Judge/tree/mas ...
- android设置view透明度的效果
android设置view透明度的效果 推荐textView.setBackgroundColor(Color.TRANSPARENT); 第一种方法:在xml文件中设置背景颜色. andro ...
- Lucene中string docvalues使用utf-16的优化
原来的string docvalues使用utf-8编码,载入时转码花费大量时间,我们把转码实现从new String(bytes, "UTF-8")改用lucene的bytesR ...
- Android(java)学习笔记216:多线程断点下载的原理(Android实现)
之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1.新建一个Android工程: (1)其中我们先实现布局 ...
- Linux shell入门基础(八)
八.shell脚本sed&awk 01.sed的使用 流编辑器-Steam Editor #ed /etc/passwd 1,10p …… 1s/root/byf/p(替换root为byf) ...