C#学习笔记之十四
命名空间声明:namespace name{……};在命名空间内部声明的名称不会与外部声明的相同名称冲突;
使用using指令引入命名空间:using name;或using abc=name;
一个命名空间可以同时在多个文件中声明,编译时再将各个部分组合到一起,因此可以把同一命名空间的定义拆开到多个文件中;
命名空间可以嵌套的;如果没有声明命名空间就会默认使用全局命名空间;
在 两个不同命名空间中声明了相同成员,而程序又同时引入了这两个命名空间,省略了命名空间引用的情况下发生了名称冲突,使用”::“别名限定符显示的指定希 望使用的命名空间:namespace-alias::identifier;要使用别名限定符,必须先要为限定的命名空间定义别名;
预处理器指令改变了编译器解释程序源文件的方式,每个指令单独成行,并以”#“开头;
pragma warning disable warning-list,,用于停止指定警告信息显示;pragma warning restore warning-list,,用于启用指定警告信息显示;
pragma checksum "filename" "{guid}" "checksum bytes"用于为ASP.NET项目生成校验和;
#define用于定义符号,定义了符号后该符号值为true,#undef用于取消定义的符号;#define和undef必须放在最开始;
#if、#else、#elif、#endif实现了条件编译;
#error主要用于调试,可以强制编译器停止编译,并提示设置的错误信息;
#warning产生警告消息,但不会停止编译;
#line可以为它所在的文件设置行号和文件名,编译过程中出现了错误或警告,可以使用#line 行号 ”文件名“来修改编译器的输出信息;
#region和#endregion定义代码区域;
#pragma用于给出指示,编译器支持#pragma warning和#pragma checksum;
程序集是由四个部分组成:程序集清单、类型元数据、MSIL存储的程序代码、程序利用的资源;
internal修饰符的作用域为程序集;