中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linq本質是什么

發布時間:2021-12-02 09:19:34 來源:億速云 閱讀:108 作者:iii 欄目:編程語言

這篇文章主要介紹“Linq本質是什么”,在日常操作中,相信很多人在Linq本質是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linq本質是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1.匿名類型

private static void AnonymousType()  {  var v = new { Name = "張三", Sex = true };  //無須顯示聲明一個類,而且在初始化器里面可以獲取上下文的變量——閉包  Console.WriteLine(v.Name);  }

Linq本質:有了匿名類型后我們不需要顯示的聲明一個類型了,這個類型由C#編譯器自動生成,而且利用了初始化器和var的新特性對Linq的意義:和初始化器結合起來構造查詢結果集合里面的新元素類型。

2.擴展方法

比如我們現在想給int類型增加(擴展)一個方法,判斷一個整數自身是否偶數,我們期望的語法是這樣的:

private static void ExtendMethod()  {  int i = 2;  Console.WriteLine(i.IsEven());  }

注意原來int原來是沒有IsEven()這個方法的,要實現這個方法,必須寫一個靜態類和一個靜態方法:

static class MyExtention  {  public static bool IsEven(this int num)  //this 表示針對int的實例和索引器的this的含義是一樣的,int表示給int這種類型進行擴展  {  return num % 2 == 0;  }   }

Linq本質:編譯i.IsEven()的本質是C#編譯器生成了了MyExtention.IsEven(i)的代碼,實際上仍然沒有破壞類型的結構,并不是真的象語法那樣平白無故給int增加了一個IsEven()方法,和設計模式里面的Visitor模式動態注入方法還是有區別的。

到此,關于“Linq本質是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浏阳市| 昭平县| 白城市| 平凉市| 沁源县| 徐汇区| 敦化市| 霍邱县| 内丘县| 和林格尔县| 沁源县| 阿克| 武隆县| 泗阳县| 霍州市| 时尚| 肥西县| 天门市| 贵阳市| 龙井市| 旺苍县| 呈贡县| 昌宁县| 察哈| 宽城| 伊宁市| 大荔县| 临武县| 南平市| 寻乌县| 古交市| 深水埗区| 南丹县| 巴塘县| 周宁县| 龙胜| 澜沧| 镇平县| 高碑店市| 合作市| 荆州市|