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