c# 2008引入了一些新的東西如linq、wcf、wpf,其中由linq引入的新的特徵包括lambda表示式、擴充套件方法、表示式樹(表示式目錄樹),匿名物件、隱式型別等。
每個原始檔都是乙個編譯單元
using 指令:隱式的使用命名空間,為命名空間建立別名。
using指令必須放在乙個命名空間內的第乙個成員之前。
如果引用的乙個dll中包含乙個anamespace.b.namespace.classc.methodd(),在工程中同樣包換乙個anamespace.b.namespace.classc.methodd()。如果想呼叫dll中的methodd()而不是工程中的methodd()可以使用extern alias為程式集建立別名。在工程中宣告 extern alias test,呼叫方法時使用test::anamespace.b.namespace.classc.methodd(),編譯工程時使用csc program.cs /r:test=*.dll,或者新增引用時設定屬性
main函式有四種簽名:static void main()
static int main()
static void main(string args)
static int main(string args)
main函式必須為靜態的且為私有的,如果不傳遞任何引數,args也不是null,但陣列長度為零,其返回值在內部快取起來供程序間通訊使用,退出**儲存在程序環境塊(process environment block)中,可以通過getexitcodeprocess應用程式程式設計介面進行訪問。
如果程式中有兩個main函式可以使用編譯器指定使用哪乙個:csc /main:anamespace.bclass main.cs.
可空型別:int? a=null;增加了hasvalue和value兩個屬性,當為空的時候hasvalue為false;
空結合運算子(??) variable ?? value,如果可空型別包含乙個值,則表示式等於該值,如果為空,則表示式為value.
C 2008核心程式設計 2013 09 14
using指令必須放在命名空間第乙個成員之前。析構函式不能在原始碼中直接被呼叫,而是在垃圾 期間被呼叫。classname 被finalize 呼叫。自動實現的屬性,必須提供get和set.public int age 巢狀型別。partial類。每個分部類的前面有partial關鍵字 每個分部類有...
C 2008語言特徵4 區域性方法
c 1.1 要求將類的全部 放在乙個檔案中。而 c 2.0 允許將類或結構的定義和實現分開放在多個檔案中,這就是區域性類的概念。通過使用關鍵字 partial 來標註乙個類的各個部分,可以將各個不同的部分放在不同的檔案中。例如,可以將下面的 放到檔案 myclass1.cs 中 public par...
C 核心程式設計
1 程式的記憶體模型 記憶體四區 int func 形參也會放到棧區 intmain int func void func01 delete arr 釋放堆中的陣列的記憶體。引發異常 列印陣列的值 for int i 0 i 10 i intmain 2 c 中的引用 引用的作用就是給變數起乙個別名...