摘要: 9.1可选参数和命名参数 设计一个方法的参数时,可为部分或全部参数分配默认值。然后,调用这些方法的代码可以选择不指定部分实参,接受其默认值。 除此之外,调用方法时,还可通过指定参数名称的方式为其传递实参。 以下代码演示了可选参数和命名参数的用法: public static class Progra 阅读全文
posted @ 2016-06-26 18:02 Chris_在IT道路上前行 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 8.1实例构造器和类(引用类型) 构造器(constructor)是允许将类型的实例初始化为良好状态的一种特殊方法。 编译后,构造器方法在“方法定义元数据表”中始终叫.ctor。 创建一个引用类型的实例,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型 阅读全文
posted @ 2016-06-26 18:01 Chris_在IT道路上前行 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 7.1常量 常量(constant)常量是在编译时已知并在程序的生存期内不发生改变的不可变值。常量使用const修饰符进行声明。常量只能在声明中初始化。定义常量符号时,它的值必须在编译时确定。 常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。 如果 const i 阅读全文
posted @ 2016-06-26 17:56 Chris_在IT道路上前行 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 6.1类型的各种成员 在一个类型中可以定义0个或多个以下种类的成员: 常量:是指出数据值恒定不变的一个符号。这些符号通常用于使代码更容易阅读和维护。常量通常与类型关联,不与类型的实例关联。从逻辑上讲,常量始终是静态成员。常量就是一个符号,编译时编译器就会将该符号替换成实际值。 字段:字段表示一个只读 阅读全文
posted @ 2016-06-26 17:55 Chris_在IT道路上前行 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 5.1基元类型 编译器(Compiler)直接支持的数据类型称为基元类型(primitive type)。 所有基元类型可以直接映射到FCL(Framework class library)中存在的类型。 比如C#中int直接映射到System.Int32类型,且在编译为IL(中间语言)时,他们将会 阅读全文
posted @ 2016-06-26 17:53 Chris_在IT道路上前行 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 4.1 所有类型都从System.Object派生 CLR要求每个类型最终都从System.Object 类型派生,所以可以保证每个类型的每个对象都有一组最基本的方法。 重写(override):继承时发生,在子类中重新定义父类中的方法,子类中的方法和父类的方法是一样的(即方法名,参数,返回值类型都 阅读全文
posted @ 2016-06-26 17:50 Chris_在IT道路上前行 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 什么是序列化和反序列化 序列化(serialization)是将一个对象或者对象图(对象在特定的时间点的一个视图)转换成一个字节流的过程。反序列化(deserialization)是将一个字节流转换回对象图的过程。 应用场景: 应用程序的状态(对象图)可以保存到磁盘文件或数据库中,并在应用程序下次运 阅读全文
posted @ 2016-06-26 17:40 Chris_在IT道路上前行 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 程序集加载和反射,实现了在编译时对一个类型一无所知的情况下,如何在运行时发现类型的信息,创建类型的实例以及访问类型的成员。显现的功能以及效果是十分强大的,比如使用第三方提供的程序集,以及创建动态可扩展应用程序。 23.1 程序集加载 JIT编译器在将方法的IL代码编译成本地代码时,会查看IL代码中引 阅读全文
posted @ 2016-06-26 17:05 Chris_在IT道路上前行 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 执行现场,加上代码,就是一个执行中的程序,称为进程。 线程是CPU的基本调度单位。参考文章:进程与线程的一个简单解释 1 进程(Process) 1.1 四个基本特征 进程由操作系统创建、管理的,离开了操作系统也就不谈什么进程了,先看看操作系统的四个基本特征: 并发(concurrence) 并行性 阅读全文
posted @ 2016-06-26 14:34 Chris_在IT道路上前行 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 22.1 CLR寄宿 CLR Hosting(CLR 宿主)的概念:初始启动.Net Application时,Windows进程的执行和初始化跟传统的Win32程序是一样的,执行的还是非托管代码,只不过由于PE文件中引入了CLR Header,OS进程加载了mscoree.dll,从而启动了CLR 阅读全文
posted @ 2016-06-26 13:13 Chris_在IT道路上前行 阅读(328) 评论(1) 推荐(1) 编辑