日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Linq用法笔记

發(fā)布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linq用法笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、什么是Linq?

LINQ即Language Integrated Query(語言集成查詢),LINQ是集成到C#和Visual Basic.NET這些語言中用于提供查詢數(shù)據(jù)能力的一個新特性。

LINQ是一種用來進行數(shù)據(jù)訪問的編程模型,Linq可以用相同的語法訪問不同的數(shù)據(jù)源,比如xml、數(shù)據(jù)庫、注冊表、事件日志等。

二、Linq包含哪些部分?

?

?

1、Linq to Sql組件:可以查詢關(guān)系型數(shù)據(jù)庫的數(shù)據(jù),并可以提供其他操作,如檢索、插入、修改、刪除、排序、聚合、分區(qū)等。

2、Linq to DataSet組件:查詢DataSet對象中的數(shù)據(jù)。

3、Linq to Object組件:可以查詢IEnumerable或是IEnumerable<T> 集合對象,即能夠查詢?nèi)魏慰梢悦杜e的集合,如數(shù)組(Array和ArrayList)、泛型字典Dictinary<T>等,以及用戶自定義的集合,而不需要使用Linq提供程序或API。

4、Linq to XML組件:查詢和操作XML結(jié)構(gòu)的數(shù)據(jù)。

5、Linq to Entities:是 Entity Framework 的一部分并且取代 LINQ to SQL 作為在數(shù)據(jù)庫上使用 LINQ 的標準機制。Entity Framework 是行業(yè)領(lǐng)先的對象-關(guān)系映射(ORM)系統(tǒng)。可以和多種數(shù)據(jù)庫一起使用,并支持各種靈活、復(fù)雜的數(shù)據(jù)模型。

三、Linq的一些用法

1、簡單的LINQ查詢

123456789101112131415161718192021static?void?Main(string[] args){????int[] marks = { 60, 77, 82, 46, 59, 98, 100, 84 };//定義一個數(shù)組????var?good =?from?m?in?marks//使用LINQ找到所有數(shù)值大于等于60的數(shù)字???????????????where?m >= 60???????????????select?m;????foreach?(int?mark?in?good)//循環(huán)每一個結(jié)果????{????????Console.WriteLine(mark);//輸出結(jié)果????}}

  

2、使用Lambda表達式的LINQ查詢

static?void?Main(string[]?args){????int[]?marks?=?{?60,?77,?82,?46,?59,?98,?100,?84?};????var?good?=?marks.Where(m?=>?m?>=?60);//使用Lambda表達式查詢數(shù)值大于等于60的數(shù)字foreach?(int?mark?in?good)//循環(huán)每一個結(jié)果{Console.WriteLine(mark);//輸出結(jié)果}}

?

3、使用LINQ查詢對象集合

class?Program{static?void?Main(string[]?args){List<Student>?students?=?new?List<Student>//申明Student對象的集合{new?Student{?StudentID=1,?Sex=true,?Name="小明",?Birthday=Convert.ToDateTime("1984-1-1")},new?Student{?StudentID=2,?Sex=false,?Name="小張",?Birthday=Convert.ToDateTime("1983-5-1")},new?Student{?StudentID=3,?Sex=true,?Name="小王",?Birthday=Convert.ToDateTime("1983-2-15")},new?Student{?StudentID=4,?Sex=false,?Name="小麗",?Birthday=Convert.ToDateTime("1985-3-8")}};//接下來使用LINQ查詢所有年齡小于25歲的男性var?names?=?from?s?in?students????????????????where?s.Sex?==?true&&s.GetAge()<25?//調(diào)用對象的方法select?s.Name;????foreach?(string?name?in?names)//循環(huán)輸出結(jié)果{Console.WriteLine(name);}}}public?class?Student??//定義Student類{//以下是定義類中屬性public?string?Name?{?get;?set;?}?public?int?StudentID?{?get;?set;?}?public?bool?Sex?{?get;?set;?}?public?DateTime?Birthday?{?get;?set;?}//以下是定義類中的方法public?int?GetAge(){?????return?DateTime.Now.Year?-?Birthday.Year;}}

?

四、Linq有什么好處?

? ?1、容易上手,學(xué)習(xí)成本低  

? ?2、可以很大程度上減少代碼量。   

? ?3、更快開發(fā)錯誤更少的應(yīng)用程序。   

? ?4、可以很容易的合并數(shù)據(jù)源。   

? ?5、讓新開發(fā)者開發(fā)效率更高。   

? ?6、任何對象或數(shù)據(jù)源都可以定制實現(xiàn)Linq適配器,為數(shù)據(jù)交互帶來真正方便。


轉(zhuǎn)載于:https://blog.51cto.com/12953214/1941212

總結(jié)

以上是生活随笔為你收集整理的Linq用法笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。