我對linq的初步認識

來源:互聯網
上載者:User
 LINQ,語言級整合查詢(Language INtegrated Query)

經過了最近 20 年,物件導向編程技術( object-oriented (OO) programming technologies )在工業領域的應用已經進入了一個穩定的發展階段。程式員現在都已經認同像 類(classes)、對象(objects)、方法(methods)這樣的語言特性。考察現在和下一代的技術,一個新的編程技術的重大挑戰開始呈現出來,即物件導向技術誕生以來並沒有解決降低訪問和整合資訊資料( accessing and integrating information )的複雜度的問題。其中兩個最主要訪問的資料來源與資料庫( database )和 XML 相關。

  LINQ 提供了一條更常規的途徑即給 .Net Framework 添加一些可以應用於所有資訊源( all sources of information )的具有多種用途( general-purpose )的文法查詢特性( query facilities ),這是比向開發語言和運行時( runtime )添加一些關係資料( relational )特性或者類似 XML 屬性( XML-specific )更好的方式。這些文法特性就叫做 .NET Language Integrated Query (LINQ) 。

包含 DLinq 和 XLinq 不經意間在網上看到這樣的代碼:

[複製到剪貼簿]

CODE:

var query = from item in languages
                orderby item
                group item by item.Length into lengthGroups
                orderby lengthGroups.Key descending
                select lengthGroups

開始還以為為是寫的sql語句,後來再次遇到才知是c#3.0中的新特性。下面簡單介紹一下新種新的類似與sql語句的文法
1 什麼是linq
liq 是Language Integrated Query 的縮寫
回憶我們經常寫過的sql語句 "select  top 10* from news  order by id asc " 之類的語句。linq 的出現 完全可以將我們熟悉的SQL中像"select","from","where"等語句,LINQ查詢文法跟SQL查詢文法很相識,除了先後順序.可以在.NET Framework環境中順利使用並且大大提高開發的效率。
LINQ 提供了一條更常規的途徑即給 .Net Framework 添加一些可以應用於所有資訊源( all sources of information )的具有多種用途( general-purpose )的文法查詢特性( query facilities ),這是比向開發語言和運行時( runtime )添加一些關係資料( relational )特性或者類似 XML 屬性( XML-specific )更好的方式。這些文法特性就叫做 .NET Language Integrated Query (LINQ) 。
要想使用應先下載LinQ架構 安裝以後來體驗一下這種新的文法
查詢一個int 數組中小於5的數字,並按照大小順序排列:

[複製到剪貼簿]

CODE:

class Program
{
    static void Main(string[] args)
    {
        int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
        var m = from n in arr where n < 5 orderby n select n;
        foreach (var n in m)
        {
            Console.WriteLine(n);
        }
        Console.ReadLine();
    }
}

這種的文法是不是和sql 文法非常像似呢。只是sql的寫法一般select 在前而linq是在後的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.