自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

標(biāo)準(zhǔn)查詢(xún)操作符概述及剖析

開(kāi)發(fā) 后端
本文介紹了標(biāo)準(zhǔn)查詢(xún)操作符的工作原理。Where、OrderBy 和 Select 操作符的參數(shù)稱(chēng)為 λ 表達(dá)式,它們是類(lèi)似于委托的代碼片段。

標(biāo)準(zhǔn)查詢(xún)操作符簡(jiǎn)介

為了查看執(zhí)行中的語(yǔ)言集成查詢(xún),我們將從一個(gè)簡(jiǎn)單的 C# 3.0 程序開(kāi)始,該程序使用標(biāo)準(zhǔn)的查詢(xún)操作符來(lái)處理數(shù)組的內(nèi)容:

  1. using System;  
  2. using System.Query;  
  3. using System.Collections.Generic;  
  4.  
  5. class app {  
  6.   static void Main() {  
  7.     string[] names = { "Burke""Connor""Frank",   
  8.                        "Everett""Albert""George",   
  9.                        "Harris""David" };  
  10.  
  11.     IEnumerable expr = from s in names   
  12.                                where s.Length == 5  
  13.                                orderby s  
  14.                                select s.ToUpper();  
  15.  
  16.     foreach (string item in expr)  
  17.       Console.WriteLine(item);  
  18.   }  
  19. }  
  20.  

如果您編譯并運(yùn)行該程序,將看到以下輸出:

  1. BURKE  
  2. DAVID  
  3. FRANK  

標(biāo)準(zhǔn)查詢(xún)操作符工作原理

要了解語(yǔ)言集成查詢(xún)?nèi)绾喂ぷ?,我們需要剖析該程序的第一個(gè)語(yǔ)句。

  1. IEnumerable expr = from s in names   
  2.                            where s.Length == 5  
  3.                            orderby s  
  4.                            select s.ToUpper();  

使用一個(gè)查詢(xún)表達(dá)式 初始化局部變量 expr。通過(guò)應(yīng)用一個(gè)或多個(gè)標(biāo)準(zhǔn)查詢(xún)操作符或特定于域的操作符,查詢(xún)表達(dá)式可以操作一個(gè)或多個(gè)信息源。該表達(dá)式使用了三個(gè)標(biāo)準(zhǔn)查詢(xún)操作符:Where、OrderBy 和 Select。

Visual Basic 9.0 也支持 LINQ。以下是以 Visual Basic 9.0 編寫(xiě)的上述語(yǔ)句:

  1. Dim expr As IEnumerable(Of String) = _  
  2.                    Select s.ToUpper() _  
  3.                    From s in names _  
  4.                    Where s.Length = 5 _  
  5.                    Order By s  

這里顯示的 C# 和 Visual Basic 語(yǔ)句均使用查詢(xún)語(yǔ)法。與 foreach 語(yǔ)句一樣,查詢(xún)語(yǔ)法是一個(gè)方便的聲明性代碼縮寫(xiě),您可以手動(dòng)編寫(xiě)它。上述語(yǔ)句在語(yǔ)義上與以下所示的以 C# 編寫(xiě)的顯式語(yǔ)法完全相同:

  1. IEnumerable expr = names   
  2.                            .Where(s => s.Length == 5)   
  3.                            .OrderBy(s => s)  
  4.                            .Select(s => s.ToUpper());  

Where、OrderBy 和 Select 操作符的參數(shù)稱(chēng)為 λ 表達(dá)式,它們是類(lèi)似于委托的代碼片段。它們?cè)试S將標(biāo)準(zhǔn)查詢(xún)操作符單獨(dú)定義為方法,并使用點(diǎn)標(biāo)記串連在一起。這些方法共同構(gòu)成了可擴(kuò)展查詢(xún)語(yǔ)言的基礎(chǔ)。

【編輯推薦】

  1. .NET框架中的XML基礎(chǔ)類(lèi):xsd.exe
  2. ASP.NET 2.0頁(yè)面狀態(tài)持續(xù):ViewState與控件
  3. ASP.NET 2.0數(shù)據(jù)綁定控件的自定義集合
  4. 列表控件示例:HeadlineList
  5. ASP.NET 2.0數(shù)據(jù)綁定機(jī)制:生成控件
責(zé)任編輯:yangsai 來(lái)源: MSDN
相關(guān)推薦

2009-11-27 09:41:56

LINQ

2009-09-15 17:16:58

LINQ查詢(xún)操作符

2010-01-14 13:35:36

VB.NET特殊操作符

2022-05-30 07:57:06

密態(tài)等值查詢(xún)數(shù)據(jù)庫(kù)

2021-10-31 18:59:55

Python操作符用法

2010-07-14 14:55:07

Perl操作符

2009-08-19 17:26:28

C# 操作符

2011-04-08 16:26:14

JavaScript

2010-07-19 11:00:24

Perl操作符

2010-07-14 14:30:31

Perl操作符

2009-07-21 09:31:00

Scala操作符

2009-09-16 09:09:23

Linq Contai

2010-07-14 14:18:51

Perl操作符

2012-02-06 09:13:23

LINQ

2010-01-28 11:16:28

C++操作符

2016-12-28 09:54:50

AndroidRxJava操作符

2017-01-03 16:12:13

RxJava操作符Android

2010-07-13 11:11:39

Perl標(biāo)量

2009-11-30 16:48:08

PHP操作符

2009-07-14 18:34:22

Jython操作符重載
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)