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