程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> LINQ to Objects系列(2)兩種查詢語法介紹

LINQ to Objects系列(2)兩種查詢語法介紹

編輯:C#入門知識

  LINQ為我們提供了兩種查詢語法,分別是查詢表達式和查詢方法語法。這篇文章分為以下幾個方面進行總結。

1,一個包含兩種查詢語法的簡單示例

2,查詢表達式的結構

3,查詢方法相關的運算符

一個包含兩種查詢語法的簡單示例

一個LINQ查詢既可以使用查詢表達式實現,也可以用查詢方法實現,還可以同時組合兩種查詢。下面是一個簡單的示例,代碼如下。

namespace LINQDemo3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 2, 5, 28, 31, 17, 16, 42 };

            //查詢表達式
            var query = from number in numbers
                        where number < 20
                        select number;

            //查詢方法(一般用lambda表達式)
            var numsMethod = numbers.Where(p => p < 20);

            //兩種方式組合
            var numsCount = (from number in numbers
                             where number < 20
                             select number).Count();

            foreach (var item in query)
            {
                Console.WriteLine("{0}",item);
            }

            foreach (var item in numsMethod)
            {
                Console.WriteLine("{0}",item);
            }

            Console.WriteLine(numsCount);
            Console.ReadKey();
        }
    }
}

查詢表達式的結構

查詢表達式通常以from開頭,以select結束,這跟SQL語句的順序不太一樣,C#這麼做的原因之一是讓VS智能感應能在我們輸入代碼時給我們更多選項。一個查詢表達式通常的結構如下圖。

image

注:此圖引用了‘滴答的雨’的http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html文章中的圖片。

查詢方法相關的運算符

查詢方法主要分為過濾,排序,分組,統計,轉換等幾類操作,用一張圖總結如下。

image

注:此圖引用自‘滴答的雨’的文章,http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved