<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # LINQ 查詢表達式(C# 編程指南) 語言集成查詢 (LINQ) 是一組技術的名稱,這些技術建立在將查詢功能直接集成到 C# 語言(以及 Visual Basic 和可能的任何其他 .NET 語言)的基礎上。借助于 LINQ,查詢現在已是高級語言構造,就如同類、方法、事件等等。 對于編寫查詢的開發人員來說,LINQ 最明顯的“語言集成”部分是查詢表達式。查詢表達式是使用 C# 3.0 中引入的聲明性查詢語法編寫的。通過使用查詢語法,您甚至可以使用最少的代碼對數據源執行復雜的篩選、排序和分組操作。您使用相同的基本查詢表達式模式來查詢和轉換 SQL 數據庫、ADO.NET 數據集、XML 文檔和流以及 .NET 集合中的數據。 下面的示例演示了完整的查詢操作。完整操作包括創建數據源、定義查詢表達式,以及在 **foreach** 語句中執行查詢。 ``` class LINQQueryExpressions { static void Main() { // Specify the data source. int[] scores = new int[] { 97, 92, 81, 60 }; // Define the query expression. IEnumerable<int> scoreQuery = from score in scores where score > 80 select score; // Execute the query. foreach (int i in scoreQuery) { Console.Write(i + " "); } } } // Output: 97 92 81 ``` 有關 C# 中的 LINQ 基礎知識的更多信息,請參見 [Getting Started with LINQ in C#](https://msdn.microsoft.com/zh-cn/library/bb397933.aspx)。 ## 查詢表達式概述 * 查詢表達式可用于查詢和轉換來自任意支持 LINQ 的數據源中的數據。例如,單個查詢可以從 SQL 數據庫檢索數據,并生成 XML 流作為輸出。 * 查詢表達式容易掌握,因為它們使用許多常見的 C# 語言構造。有關更多信息,請參見 [Getting Started with LINQ in C#](https://msdn.microsoft.com/zh-cn/library/bb397933.aspx)。 * 查詢表達式中的變量都是強類型的,但許多情況下您不需要顯式提供類型,因為編譯器可以推斷類型。有關更多信息,請參見[Type Relationships in LINQ Query Operations (C#)](https://msdn.microsoft.com/zh-cn/library/bb397924.aspx)。 * 在您循環訪問 **foreach** 語句中的查詢變量之前,不會執行查詢。有關更多信息,請參見 [Introduction to LINQ Queries (C#)](https://msdn.microsoft.com/zh-cn/library/bb397906.aspx)。 * 在編譯時,根據 C# 規范中設置的規則將查詢表達式轉換為“標準查詢運算符”方法調用。任何可以使用查詢語法表示的查詢也可以使用方法語法表示。但是,在大多數情況下,查詢語法更易讀和簡潔。有關更多信息,請參見 [C# 語言規范](https://msdn.microsoft.com/zh-cn/library/ms228593.aspx)和[Standard Query Operators Overview](https://msdn.microsoft.com/zh-cn/library/bb397896.aspx)。 * 作為編寫 LINQ 查詢的一項規則,建議盡量使用查詢語法,只在必需的情況下才使用方法語法。這兩種不同形式在語義或性能上沒有區別。查詢表達式通常比用方法語法編寫的等效表達式更易讀。 * 一些查詢操作,如 [Count&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb338038.aspx) 或 [Max](https://msdn.microsoft.com/zh-cn/library/bb335614.aspx),沒有等效的查詢表達式子句,因此必須表示為方法調用。方法語法可以通過多種方式與查詢語法組合。有關更多信息,請參見[Query Syntax and Method Syntax in LINQ (C#)](https://msdn.microsoft.com/zh-cn/library/bb397947.aspx)。 * 查詢表達式可以編譯為表達式樹或委托,具體取決于查詢所應用到的類型。 [IEnumerable&lt;T&gt;](https://msdn.microsoft.com/zh-cn/library/9eekhta0.aspx) 查詢編譯為委托。 [IQueryable](https://msdn.microsoft.com/zh-cn/library/system.linq.iqueryable.aspx) 和 [IQueryable&lt;T&gt;](https://msdn.microsoft.com/zh-cn/library/bb351562.aspx) 查詢編譯為表達式樹。有關更多信息,請參見[表達式樹(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-cn/library/bb397951.aspx)。 下表列出了一些主題,提供有關常規任務的查詢和代碼示例的其他信息。 | 主題 | 說明 | | --- | --- | | [查詢表達式基礎(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb384065.aspx) | 介紹基本查詢概念并提供 C# 查詢語法的示例。 | | [如何:在 C# 中編寫 LINQ 查詢](https://msdn.microsoft.com/zh-cn/library/bb397678.aspx) | 提供若干基本查詢表達式類型的示例。 | | [如何:在查詢表達式中處理異常(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb513730.aspx) | 如何以及何時將可能會引發異常的代碼移出查詢表達式。 | | [How to: Populate Object Collections from Multiple Sources (LINQ)](https://msdn.microsoft.com/zh-cn/library/bb513866.aspx) | 如何使用 **select** 語句將來自不同源的數據合并為新類型。 | | [如何:對查詢結果進行分組(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb545971.aspx) | 演示使用 **group** 子句的不同方法。 | | [如何:創建嵌套組(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb545974.aspx) | 演示如何創建嵌套組。 | | [如何:對分組操作執行子查詢(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb311041.aspx) | 演示如何使用查詢中的子表達式作為新查詢的數據源。 | | [如何:按連續鍵對結果進行分組(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/cc138361.aspx) | 演示如何實現線程安全的標準查詢運算符,該運算符可對流式數據源執行分組操作。 | | [如何:在運行時動態指定謂詞篩選器(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb513731.aspx) | 演示如何為 **where** 子句的相等比較提供任意數目的值。 | | [如何:在內存中存儲查詢結果(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb513810.aspx) | 闡釋如何具體化和存儲查詢結果,而不必使用 **foreach** 循環。 | | [如何:從方法中返回查詢(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb882532.aspx) | 演示如何從方法返回查詢變量,以及如何將它們作為輸入參數傳遞給方法。 | | [如何:執行自定義聯接操作(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb882533.aspx) | 演示如何基于任何類型的謂詞函數執行聯接運算。 | | [如何:使用復合鍵進行聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb907099.aspx) | 演示如何基于多個匹配鍵聯接兩個源。 | | [如何:對 Join 子句的結果進行排序(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb882517.aspx) | 演示如何對聯接運算生成的序列進行排序。 | | [如何:執行內部聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397941.aspx) | 演示如何在 LINQ 中執行內聯。 | | [如何:執行分組聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397905.aspx) | 演示如何在 LINQ 中生成已分組的聯接。 | | [如何:執行左外部聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397895.aspx) | 演示如何在 LINQ 中生成左外部聯接。 | | [如何:在查詢表達式中處理 Null 值(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb882535.aspx) | 演示如何在 LINQ 查詢中處理 null 值。 | ## 請參閱 [C# 編程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx) [LINQ (Language-Integrated Query)](https://msdn.microsoft.com/zh-cn/library/bb397926.aspx) [Walkthrough: Writing Queries in C# (LINQ)](https://msdn.microsoft.com/zh-cn/library/bb397900.aspx) [Basic LINQ Query Operations (C#)](https://msdn.microsoft.com/zh-cn/library/bb397927.aspx) [Query Syntax and Method Syntax in LINQ (C#)](https://msdn.microsoft.com/zh-cn/library/bb397947.aspx) [Standard Query Operators Overview](https://msdn.microsoft.com/zh-cn/library/bb397896.aspx) [查詢關鍵字(C# 參考)](https://msdn.microsoft.com/zh-cn/library/bb310804.aspx) [How Linq to Objects Queries Work(Linq to Objects 查詢如何工作)](http://go.microsoft.com/fwlink/?LinkId=112389) [Reading and Writing Queries(讀取和編寫查詢)](http://go.microsoft.com/fwlink/?LinkId=112391) [What is a collection?(什么是集合?)](http://go.microsoft.com/fwlink/?LinkId=112394) [Link to Everything: A List of LINQ Providers(所有鏈接:LINQ 提供程序列表)](http://go.microsoft.com/fwlink/?LinkId=112411)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看