国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 幫助中心 > 正文

詳解LINQ入門(上篇)

2024-07-09 22:42:41
字體:
供稿:網(wǎng)友

前 言

最近和我們老大一起做技術(shù)面試(我是旁聽的),發(fā)現(xiàn)前來面試的沒幾個掌握甚至是丁點了解LINQ。這讓我很納悶,LINQ伴隨2008一起發(fā)布至今難道大家真的沒時間去了解一下或者學(xué)習(xí)一下這個應(yīng)用基礎(chǔ)嗎。甚至問及有些人LINQ是什么,答題者想都不想 LINQ TO SQL, 崩潰!沒錯,LINQ是可以TO SQL,但是除了SQL,LINQ就無所作為了?非也。因此在這里和大家一起分享學(xué)習(xí)LINQ。本文適合以下讀者, 如果你是不符合者請賞臉捧個場,3Q

從未觸碰過LINQ的 對LINQ有過了解但是從未實戰(zhàn)過的 打算學(xué)習(xí)LINQ的

簡 介

LINQ 是什么?引用官方術(shù)語“語言集成查詢 (LINQ) 是 Visual Studio 2008 和 .NET work 3.5 版中引入的一項創(chuàng)新功能,它在對象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁?!?那么LINQ給我們帶來了什么,請看以下例子:

問:有序列A=int[]{1,2,3,4,5,6,7,8,0}; B=int[]{2,4,7,8,9}。請求出包含A和B共同值的序列C。

如果按照原來的思路,那么編碼也許如下:

說明: 

List<int> c = new List<int>();foreach(int a in A){  foreach(int b in b) {    if (a==b) {      c.add(a);    }  }}

說明: 

是不是覺得上面這段雖然沒什么問題,但是很丑陋。如果我們引用LINQ來編寫呢:

IEnumerable<int> C = from a in A           from b in B           where a==b           select a;

語 法

  1. LINQ所處在的主要命名空間:System.Linq

  2. LINQ的處理的核心對象就是IEnumerable可枚舉對象也包括了泛型枚舉,換句話說當(dāng)你要處理的對象為IEnumerable類型對象時即可使用LINQ操作它。且在沒有經(jīng)過其他處理的情況下將返回一個新的IEnumerable序列,注意LINQ有一個特性“延遲加載”這個將在后續(xù)說明。

      3. 關(guān)鍵字(摘自MSDN):  

    from :      指定數(shù)據(jù)源和范圍變量(類似于迭代變量)。

    where:     根據(jù)一個或多個由邏輯“與”和邏輯“或”運(yùn)算符(&& 或 ||)分隔的布爾表達(dá)式篩選源元素。

    select:    指定當(dāng)執(zhí)行查詢時返回的序列中的元素將具有的類型和形式。

    group:    按照指定的鍵值對查詢結(jié)果進(jìn)行分組。

    into:       提供一個標(biāo)識符,它可以充當(dāng)對 join、group 或 select 子句的結(jié)果的引用。

    orderby: 基于元素類型的默認(rèn)比較器按升序或降序?qū)Σ樵兘Y(jié)果進(jìn)行排序。

    join:       基于兩個指定匹配條件之間的相等比較來聯(lián)接兩個數(shù)據(jù)源。

    let:         引入一個用于存儲查詢表達(dá)式中的子表達(dá)式結(jié)果的范圍變量。

    in:          join 子句中的上下文關(guān)鍵字。

    on:         join 子句中的上下文關(guān)鍵字。

    equals:   join 子句中的上下文關(guān)鍵字。

    by:         group 子句中的上下文關(guān)鍵字。

    ascending:orderby 子句中的上下文關(guān)鍵字。

    descending:orderby 子句中的上下文關(guān)鍵字。

  4. 語法說明,每個LINQ語句都以from作為開頭,以select作為結(jié)束,這點和T-SQL語法不通的切記先入為主的思考。其他關(guān)鍵字如where則類似T-SQL作為篩選判斷條件。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武乡县| 永春县| 禹城市| 泰安市| 灵丘县| 永春县| 竹溪县| 文登市| 德格县| 巴彦淖尔市| 遵化市| 蕲春县| 海晏县| 永城市| 庄浪县| 沙湾县| 南靖县| 土默特右旗| 永福县| 嘉祥县| 都兰县| 甘肃省| 渝中区| 郓城县| 郎溪县| 石嘴山市| 健康| 蒲城县| 本溪市| 泽库县| 宕昌县| 龙口市| 蒙自县| 清水县| 大理市| 云和县| 桂东县| 安平县| 日照市| 红安县| 陆川县|