首页 > 代码库 > C#基础知识之十一
C#基础知识之十一
C#基础知识之十一
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1、 同步编程是只有一个线程从程序的第一行语句到最后一行语句顺序执行。异步编程是指程序发起多个线程,它们在理论上是同一时间执行的。
2、 .net4.0引入一个新的类库,叫做任务并行库,极大简化并行编程。例:Parallel.For和Parallel.ForEach。
3、 预处理指令指编译器如何处理源代码。
4、 预处理必须和C#代码在不同的行,不需要以分号结尾,包含预处理指令的第一行必须以#字符开始,允许行尾注释,在预处理指令所在的行不允许分隔符注释。
5、 预处理在#字符前可以有空格,在#字符和指令之间可以有空格
6、 #define指令声明一个编译符号,#undef指令取消定义一个编译符号。两个编译符号只能用在源文件的第一行,也就是任何C#代码之前使用。重复定义已存在编译符号也是允许的。
7、 条件编译允许我们根据某个编译符号是否被定义标注一段代码被编译或跳过。
8、 条件编译:#if、#else、#elif、#endif。条件是一个返回true或false的简单表达式。
9、 条件编译结构:#if和#endif指令在结构中需要配对使用。有#if指令就必须配对#endif。
10、 诊断指令:产生用户自定义的编译时警告或错误消息。例:#warning Message #error Messae。(message是字符串)。
11、 #error指令在#if结构中,因此只有符合#if指令的条件时才会生成消息。
12、 行号指令(#line):改变由编译器警告和错误消息报告的出现行数,改变由编译源文件的文件名,对交互式调试器隐藏一些行。
13、 行号指令中要改变外观文件名,可以在双引号内使用文件名作为参数。双引号是必须的。要返回真实行号和真实文件名字,可以使用default参数。
14、 行号指令中要对交互调试器的断点调试功能隐藏代码段,可以使用hidden作为参数。要停止隐藏,可以使用不带任何参数的指令。
15、 区域指令:允许我们标注和有选择性命名一段代码。区域可以被嵌套,例:#region…..#endregion。
16、 #pragma warning指令允许我们关闭及重新开启警告消息。关闭用disable,重新开启用restore。
17、 有关程序及其类型的数据称为元数据,它们保存在程序的程序集中。
18、 反射(reflection):一个运行的程序查看本身的元数据或其他程序的元数据的行为叫做反射。
19、 反射必须使用System.Reflection命名空间。
20、 Type类精选成员:Name(返回类型的名字);Namespace(返回包含类型声明的命名空间);Assembly(返回声明类型的程序集);GetFields(返回类型的字段列表);GetProperties(返回类型的属性列表);GetMethods(返回类型的方法列表)。
21、 获取Type对象,使用GetType方法和typeof运算符来获取Type对象。
22、 特性是一种允许我们向程序的程序集增加元数据的语言结构。
23、 应用特性的目的是告诉编译器把程序的某个元数据嵌入程序集。例:[Serivalizable]//不带参数,[MyAttribute(“Simple class”,”Version 3.57”)]//带参数的特性。
24、 Obsolete特性允许我们将程序结构标注为过期的并且在代码编译时显示有用的警告消息。
25、 Conditional特性允许我们包括或排斥某个特定方法的所有调用。
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
C#基础知识之十一