C#基礎(chǔ)知識之101
由朱朱編寫,轉(zhuǎn)載請注明出自朱朱家園http://blog.csdn.net/zhgl7688
1、 同步編程是只有1個線程從程序的第1行語句到最后1行語句順序履行。異步編程是指程序發(fā)起多個線程,它們在理論上是同1時間履行的。
2、 .net4.0引入1個新的類庫,叫做任務(wù)并行庫,極大簡化并行編程。例:Parallel.For和Parallel.ForEach。
3、 預(yù)處理指令指編譯器如何處理源代碼。
4、 預(yù)處理必須和C#代碼在不同的行,不需要以分號結(jié)尾,包括預(yù)處理指令的第1行必須以#字符開始,允許行尾注釋,在預(yù)處理指令所在的行不允許分隔符注釋。
5、 預(yù)處理在#字符前可以有空格,在#字符和指令之間可以有空格
6、 #define指令聲明1個編譯符號,#undef指令取消定義1個編譯符號。兩個編譯符號只能用在源文件的第1行,也就是任何C#代碼之前使用。重復(fù)定義已存在編譯符號也是允許的。
7、 條件編譯允許我們根據(jù)某個編譯符號是不是被定義標(biāo)注1段代碼被編譯或跳過。
8、 條件編譯:#if、#else、#elif、#endif。條件是1個返回true或false的簡單表達式。
9、 條件編譯結(jié)構(gòu):#if和#endif指令在結(jié)構(gòu)中需要配對使用。有#if指令就必須配對#endif。
10、 診斷指令:產(chǎn)生用戶自定義的編譯時正告或毛病消息。例:#warning Message #error Messae。(message是字符串)。
11、 #error指令在#if結(jié)構(gòu)中,因此只有符合#if指令的條件時才會生成消息。
12、 行號指令(#line):改變由編譯器正告和毛病消息報告的出現(xiàn)行數(shù),改變由編譯源文件的文件名,對交互式調(diào)試器隱藏1些行。
13、 行號指令中要改變外觀文件名,可以在雙引號內(nèi)使用文件名作為參數(shù)。雙引號是必須的。要返回真實行號和真實文件名字,可使用default參數(shù)。
14、 行號指令中要對交互調(diào)試器的斷點調(diào)試功能隱藏代碼段,可使用hidden作為參數(shù)。要停止隱藏,可使用不帶任何參數(shù)的指令。
15、 區(qū)域指令:允許我們標(biāo)注和有選擇性命名1段代碼。區(qū)域可以被嵌套,例:#region…..#endregion。
16、 #pragma warning指令允許我們關(guān)閉及重新開啟正告消息。關(guān)閉用disable,重新開啟用restore。
17、 有關(guān)程序及其類型的數(shù)據(jù)稱為元數(shù)據(jù),它們保存在程序的程序集中。
18、 反射(reflection):1個運行的程序查看本身的元數(shù)據(jù)或其他程序的元數(shù)據(jù)的行動叫做反射。
19、 反射必須使用System.Reflection命名空間。
20、 Type類精選成員:Name(返回類型的名字);Namespace(返回包括類型聲明的命名空間);Assembly(返回聲明類型的程序集);GetFields(返回類型的字段列表);GetProperties(返回類型的屬性列表);GetMethods(返回類型的方法列表)。
21、 獲得Type對象,使用GetType方法和typeof運算符來獲得Type對象。
22、 特性是1種允許我們向程序的程序集增加元數(shù)據(jù)的語言結(jié)構(gòu)。
23、 利用特性的目的是告知編譯器把程序的某個元數(shù)據(jù)嵌入程序集。例:[Serivalizable]//不帶參數(shù),[MyAttribute(“Simple class”,”Version 3.57”)]//帶參數(shù)的特性。
24、 Obsolete特性允許我們將程序結(jié)構(gòu)標(biāo)注為過期的并且在代碼編譯時顯示有用的正告消息。
25、 Conditional特性允許我們包括或排擠某個特定方法的所有調(diào)用。
由朱朱編寫,轉(zhuǎn)載請注明出自朱朱家園http://blog.csdn.net/zhgl7688