亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

閱讀《LEARNING HARD C#學習筆記》知識點總結與摘要四

2019-11-17 02:24:43
字體:
來源:轉載
供稿:網友

閱讀《LEARNING HARD C#學習筆記》知識點總結與摘要四

又是一個周末,剛好有時間,又繼續復習與總結了,希望能讓大家受益,不足之處歡迎指正,謝謝!

十八. Lambda

1.Lambda表達式:匿名方法的另一種表現形式,它可以包含表達式和語句,且用于創建委托或轉換為表達式樹,定義語法:(形參列表)=>{方法體}; 單個參數時,可以省略括號

2.Lambda表達式樹是用來表示Lambda表達式邏輯的一種數據結構,它將代碼表示成一個對象樹,而非可執行的代碼,定義語法如(a+b):

Experssion<Func<int,int,int>> (a,b)=>a+b;

通過代碼動態構造Lambda表達式樹,如下:

parameterExPRession a=Expression.Parameter(typeof(int),”a”);parameterExpression a=Expression.Parameter(typeof(int),”b”);BinaryExpression body=Expression.Add(a,b);Experssion<Func<int,int,int>> exprTree=Expression.Lambad(body,a,b);

3.Lambda表達式樹通過調用Compile方法將表達式樹轉換為可執行代碼(即所表示的委托)

十九.擴展方法

1.擴展方法是一種方法,它用來擴展已知類型的方法成員(即在不改變原有類型的前提下,附加新的方法);

2.擴展方法定義規則:

  a)必須在一個非嵌套、非泛型的靜態類(即標準的靜態類)中定義;

  b)它至少要有一個參數;

  c)第一個參數必須在類型加上this關鍵字,表示向該參數對應的類型就進擴展;

  d)第一個參數不能使用任何修飾符(如:不能使用rel,out)

  e)第一個參數的類型不能是指針類型;

3.擴展方法定義語法如下:

static class 靜態類名{         public static 返回類型 擴展方法名(this 目標擴展類型 形參名,其它形參&hellip;)         {                   //方法體        }}    

4.空引用(NULL)支持調用擴展方法

注意:定義擴展方法時,為防止方法污污染(即擴展的方法在某些類型中并無實際作用或不需要),應盡量擴展具體類型,而不要擴展其基類

二十.LINQ

1.LINQ,即語言集成查詢,提供一種跨越各種數據源的統一的查詢方式

2.LINQ查詢表達式必須以from子句開頭,并且必須以select或group子句結尾,在第一個from子句與最后一個select或group子句之間可以包含多個子包,定義語法如下:

  Var query=from n in numbers where n<=10 select n;

3.LINQ查詢表達式是建立在Lambda表達式和擴展方法的基礎上的,而Lambda表達式又是建立在委托的基礎上的,擴展方法也屬于方法,所以LINQ的本質還是對方法的調用,對于編譯器而言,使用LINQ查詢表達式與使用方法調用的代碼完全相同。

二十一.C#4.0新特性

可選參數:指定了默認值的參數,即在調用方法時,該參數可以指定實參,也可以不指定實參,若不指定則采用默認值;

注意:1.可選參數必須在非可選參數的后面;2.默認值必須為常量;3.不定參數(即用params表示的參數數組)不能為可選參數;4.用rel或out標識的參數不能為可選參數;

命名實參:即在調用方法時,直接指定形參名并為其賦值(指定實參),可不按方法形參的順序,且非可選參數必需全部指定實參,使用語法如下:

static void Write(DateTime dt,string name,string result="www.zuowenjun.cn")        {            Console.Write("{0}-{1}-{2}", dt, name, result);        } //調用方法Write(name: "夢在旅途", dt: DateTime.Now);

 

動態類型:即用dynamic關鍵字來表示某個變量的類型,動態類型可不用編寫顯式強制轉換的代碼,強制轉換由編譯器來完成;定義語法如下:

dynamic d=10;dynamic str=”www.zuowenjun.cn”; dynamic p=new People();

注意:1.不能直接用動態類型作為實參來調用擴展方法;2.委托與動態類型間不能做隱式轉換;3.不能調用構造函數或靜態方法;4.不能將動態類型dynamic作為基類聲明,也不能作為泛型類型參數的約束

二十二.多線程

1.線程與進程關系:線程是進程的執行單元,操作系統通過調度線程來使應用程序工作,而進程則是線程的容器,它是由操作系統創建,又在具體的執行過程中創建了線程;一個進程至少包含一個線程。

2.線程分前臺線程與后臺線程之分,在同一個線程中,若所有前臺線程結束后,CLR會強制強結束仍在運行的所有后臺線程,這些后臺線程被直接終止,卻不會拋出任何異常。主線程一定是前臺線程。線程的創建語法如下:

    Thread 線程變量名=new Thread(委托實例);

    線程變量名.IsBackgroud=true; //為true則表示為后臺線程,否則為前臺前線程

    線程變量名.Start();//啟動線程

3.線程池:是指存放應用程序中要使用的線程的集合,若要使用線程池中的線程,需要調用靜態方法:ThreadPool.QueueUserWorkItem

4.線程同步:確保某一時間只有一個線程在操作共享資源,實現線程同步的方法:

a)監視器Monitor、lock,使用代碼如下:

private static object syncObj = new object();//類的靜態字段            try            {                Monitor.Enter(syncObj);                //其它代碼            }            finally            {                Monitor.Exit(syncObj);            }lock(syncObj) //為上面代碼的簡寫形式{  //執行代碼};

b)Mutex對象,Mutex是跨進程的,因此我們可以在同一臺機器甚至遠程的機器上的多個進程上使用同一個互斥體,使用代碼如下:

Mutex mt=new Mutex();mt.WaitOne();//等待//執行代碼mt.ReleaseMutex();//釋放

c) ReaderWriterLock類型,用ReaderWriterLock進行資源訪問時,如果在某一時刻資源并沒有獲取寫的獨占權,那么可以獲得多個讀的訪問權,單個寫入的獨占權,如果某一時刻已經獲取了寫入的獨占權,那么其它讀取的訪問權必須進行等待,使用語法如下:

static ReaderWriterLock rwLock = new ReaderWriterLock();//類的靜態字段rwLock.AcquireWriterLock(1000);//執行代碼rwLock.ReleaseWriterLock();

d)還有SynchronizationAttribute、MethodImplAttribute、同步事件和等待句柄等,具體每種用法可參見該篇博文:

http://www.49028c.com/michaelxu/archive/2008/09/20/1293716.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频国产视频| 久久久精品视频在线观看| 91精品成人久久| 国产丝袜高跟一区| 亚洲第一偷拍网| 欧美电影在线观看高清| 亚洲老板91色精品久久| 国产精品视频久久| 日韩在线高清视频| 亚洲xxxx做受欧美| 久久天天躁狠狠躁夜夜躁2014| 日韩国产激情在线| 国产精品流白浆视频| 亚洲精品一区在线观看香蕉| 最新国产精品拍自在线播放| 日韩小视频在线观看| 国产精品永久免费在线| 国产欧美欧洲在线观看| 激情久久av一区av二区av三区| 亚洲美女久久久| 亚洲免费人成在线视频观看| 国产一区二区三区四区福利| 一本色道久久综合狠狠躁篇的优点| 久久不射热爱视频精品| 亚洲成人黄色在线观看| 日韩视频免费中文字幕| 97精品久久久| 性日韩欧美在线视频| 国产精品久久久久久久久久| 亚洲精品日韩在线| 国产精品看片资源| 欧美一级大胆视频| 成人在线小视频| 亚洲精品久久久久国产| 欧美成人午夜视频| 亚洲精品美女久久久久| 精品国产鲁一鲁一区二区张丽| 久久久精品免费视频| 亚洲四色影视在线观看| 91视频国产一区| 亚洲久久久久久久久久| 久久香蕉精品香蕉| 欧美疯狂做受xxxx高潮| 欧美日韩裸体免费视频| 欧美成人午夜激情在线| 亚洲黄色av网站| 九九久久久久久久久激情| 国产综合香蕉五月婷在线| 国产精品一区久久久| 国产精品一区二区久久国产| 国产精品高清在线| 国产精品jizz在线观看麻豆| 精品久久久久久久中文字幕| 欧洲亚洲女同hd| 在线日韩中文字幕| 国自在线精品视频| 在线免费观看羞羞视频一区二区| 国产福利精品在线| 韩国美女主播一区| 亚洲女人天堂视频| 日韩亚洲欧美中文高清在线| 国产精品国产三级国产专播精品人| 久久中文字幕国产| 国产日韩在线亚洲字幕中文| 国产精品中文字幕久久久| 久久男人资源视频| 亚洲黄在线观看| 国产日韩换脸av一区在线观看| 亚洲韩国日本中文字幕| 中文字幕亚洲无线码在线一区| 午夜精品久久久99热福利| 中文字幕视频一区二区在线有码| 成人精品视频久久久久| 亚洲专区国产精品| 成人精品久久久| 亚洲色图50p| 欧美国产亚洲精品久久久8v| 国产69久久精品成人| 日韩成人中文字幕| 国产va免费精品高清在线观看| 另类专区欧美制服同性| 国产精品日韩欧美大师| 亚洲综合中文字幕在线观看| 欧美午夜www高清视频| 久久久久亚洲精品国产| 亚洲a级在线观看| 国产精品678| 欧美黑人一区二区三区| 精品亚洲一区二区三区在线播放| 精品二区三区线观看| 久久免费视频在线观看| 国产精品黄色影片导航在线观看| 国产精品91免费在线| 亚洲视频在线观看| 最好看的2019年中文视频| 日韩免费在线电影| 91成人精品网站| 九九热精品视频国产| 日韩精品免费在线视频观看| 国产精品揄拍一区二区| 午夜免费日韩视频| 在线观看日韩www视频免费| 亚洲精品av在线| 欧美性xxxx| 国产精品777| 亚洲天堂色网站| 懂色av影视一区二区三区| 国产精品永久在线| 日本亚洲欧美成人| 久久久人成影片一区二区三区观看| 亚洲第一av网站| 日本不卡免费高清视频| 国产欧美日韩中文字幕在线| 26uuu日韩精品一区二区| 91九色在线视频| 日本成熟性欧美| 亚洲aⅴ男人的天堂在线观看| 亚洲免费一级电影| 亚洲大尺度美女在线| 日本久久久久久久久| 国产精品高清在线观看| 色婷婷综合久久久久中文字幕1| 成人黄色av免费在线观看| 精品国产电影一区| 91精品久久久久| 亚洲人a成www在线影院| 午夜精品福利电影| 性欧美视频videos6一9| 成人网在线观看| 欧美体内谢she精2性欧美| 亚洲色图国产精品| 成人美女免费网站视频| 久久99久久久久久久噜噜| 国内精品模特av私拍在线观看| 国产精品第一区| 亚洲天堂av综合网| 欧美性猛交xxxxx水多| 亚洲欧美日韩中文视频| 亚洲日本中文字幕| 亚洲女同性videos| 亚洲老头同性xxxxx| 亚洲欧美日韩精品久久| 亚洲免费高清视频| 一区二区欧美日韩视频| 成人黄色免费在线观看| 日韩女优人人人人射在线视频| 成人黄色免费在线观看| 亚洲午夜av久久乱码| 日本高清+成人网在线观看| 亚洲欧美日韩爽爽影院| 色偷偷av亚洲男人的天堂| 国产一区红桃视频| 精品成人av一区| 亚洲国产成人在线播放| 国产精品香蕉国产| 国语自产精品视频在线看| 青草成人免费视频| 国产欧美日韩精品丝袜高跟鞋| 成人福利免费观看| 久久最新资源网| 97精品国产aⅴ7777| 久久亚洲一区二区三区四区五区高| 亚洲激情中文字幕| 最近2019免费中文字幕视频三|