整型:
浮點:
財務(wù):
布爾:
字符:
引用類型:
{序號,空間:控制字符與精度} 如:{0,3:C2}
{空間:#.00} 其中,#表示該位置如果有字符就顯示,否則忽略;0如果有顯示,否則顯示0
1.創(chuàng)建可枚舉類型
2.使用
3.生成原理
轉(zhuǎn)移符/ ; [1|c] 1或c ; [a-z] a到z之一
篩選:普通篩選(where);索引篩選(.Where((r,index)=>bool);類型篩選(OfType<type>())
源選擇:普通源(from);復(fù)合源(SelectMany(源選擇器,目標選擇器) )
排序:普通排序(orderby等);反轉(zhuǎn)(.Reverse() )
分組:普通分組(group r by r.id into g )生成新的IGrouping<key,source>結(jié)構(gòu)數(shù)據(jù)源
源連接:join 連接源 on 鍵選擇相等判斷器
集合操作:Distinct()刪除重復(fù)元素;Union并集,Except差集,Intersect交集,Zip合并項
分頁:Skip(跳過項數(shù)).Take(返回項數(shù))
統(tǒng)計:Count()項數(shù),Sum()累加,Min()最小值,Max()最大值,Average()平均值,Aggregate()累算
轉(zhuǎn)換:ToList()等
生成源:Range()整數(shù)范圍,Empty()空序列,Repear()重復(fù)項。
判斷:Any任一項符合條件即返回布爾值;All 所有項;Contains 存在項;
查找:First()首項,Last()尾項,Single()唯一項,ElementAt()位置項
并行LINQ:asparallel()轉(zhuǎn)換成并行源。
1.局部變量使用前須初始化。
2.var 變量須初始化,由編譯器推斷出類型,是一個語法糖。如是引用類型必須為新建對象。var可綁定匿名類型,如:var obj= new {Sex=”girl”,Age=21};
3.局部變量不能在作用范圍內(nèi)重名。
4.常量須初始化,須編譯期值可用,固定為static(靜態(tài))。
5.switch的case必須為常量,當(dāng)某case段為空可以跳到下一case執(zhí)行。
6.命名空間別名前綴是::
7.靜態(tài)構(gòu)造函數(shù)由運行庫調(diào)用,因此有特定的規(guī)格,無訪問修飾符,無參數(shù)。
8.readonly只能在構(gòu)造函數(shù)中設(shè)置。
9.構(gòu)造初始化器調(diào)用另一個構(gòu)造函數(shù) (構(gòu)造函數(shù)后:this(…) 或者 : base(…) )。
10.結(jié)構(gòu)有默認構(gòu)造,無法替換
11.結(jié)構(gòu)字段不接受初始值
12.靜態(tài)類的靜態(tài)函數(shù),第一個參數(shù)類型是”this 某類”,則為某類的擴展方法。(語法糖)
13.內(nèi)嵌類可訪問外部類所有成員。
14.泛型:default( T ) 泛型默認值。
15.策略:協(xié)變(out)接口用于參數(shù)類型,抗變(in)接口直接調(diào)用元素。
16.可空類型int? ,?? 受編譯系統(tǒng)厚愛,充滿語法糖和特殊編譯插入。
17.foreach (var p in persons) Console.writeLine( p); ==>IEnumerator<Person> enumerator=persons.GetEnumerator(); while(enumerator.MoveNext()){ Person p = enumerator.Current; Console.WriteLine( p);}
18.裝箱操作:1.調(diào)用繼承的函數(shù)(如果已重寫就不會);2.復(fù)制到引用基類或接口;3.個人意見,用泛型解決裝箱的問題。
19.比較操作包括:1.靜態(tài)Object.ReferenceEquals()比較引用一致;2.虛擬Equals();3.靜態(tài)Equals();4.比較運算符==;5.IEqualityComparer<T> 6.比較器。假如比較代碼由自己控制,用比較器定義相等較為靈活;假如要集成進某個庫,重載Equals();
20.委托具備多播功能,相關(guān)操作符+,+=,-,-=。
21.lambda訪問外部變量是通過產(chǎn)生匿名類傳遞變量。
22.事件在語法上有些類似屬性,包裝委托變量。
23.Idisposable接口實現(xiàn)釋放資源操作,GC.SupPRessFinalize(this)讓系統(tǒng)不再調(diào)用該對象析構(gòu)函數(shù),提升性能。策略一.當(dāng)不理會托管資源時,只需保證Dispose()可重入,析構(gòu)函數(shù)調(diào)用Dispose();策略二.當(dāng)想調(diào)控托管資源,用Dispose(false)對應(yīng)析構(gòu)函數(shù)調(diào)用操作,Dispose(true)對應(yīng)Dispose()操作,兩者差異在于直接調(diào)用Dispose()需要負責(zé)釋放托管資源,并調(diào)用GC.SuppressFinalize(this)來告之系統(tǒng)不再調(diào)用析構(gòu)函數(shù)。
24.Exception 異常基類,IOException IO異常,SystemException dotNet系統(tǒng)異常,applicationException第三方定義異常,StackOverflowException棧溢出異常,EndOfStreamException 超出流末端異常,OverfalowException溢出異常,ArgumetException參數(shù)異常
|
新聞熱點
疑難解答