摘要: C#关键字:abstract可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。as一个转换操作符,如果转换失败,就返回null。Base用于访问被派生类或构造中的同名成员隐藏的基类成员。catch定义一个代码块,在特定类型异常抛出时,执行块内代码。参见try和finally。checked既是操作符又是语句。确保编译器运行时,检查整数类型操作或转换时出现的溢出。const标识一个可在编译时计算出来的变量值,即一经指派不可修改的值。delegate指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用。enum表示一个已命名常 阅读全文
posted @ 2013-07-25 19:30 旧事乡里人 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。 应用程序结构分为应用程序域—程序集—模块—类型—成员几个层次,公共语言运行库加载器管理应用程序域,这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。C#应用程序域:在以前传统的开发中我们都知道,一个应用程序对应一个进程,并为该进程指定虚拟内存,由操作系统来映射实际的物理内存,有效的维护了进程之间的安全性。但另一方面,每一个进程都会消耗一定的系统资源,降低了性能,并且进程间的通信也比较麻烦。 在.NET中推出了一个新的概念:C#应用程序域(AppDomain)。可以理解成很多应用程 阅读全文
posted @ 2013-07-25 19:28 旧事乡里人 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。声明式编程和命令式编程的代码例子举个简单的例子,假设我们想让一个数组里的数值翻倍。我们用命令式编程风格实现,像下面这样:var numbers = [1,2,3,4,5]var doubled = []for(var i = 0; i [2,4,6,8,10]我们直接遍历整个数组,取出每个元素,乘以二,然后把翻倍后的值 阅读全文
posted @ 2013-07-25 11:36 旧事乡里人 阅读(251) 评论(0) 推荐(0) 编辑