溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

LINQ表達(dá)式怎么寫(xiě)

發(fā)布時(shí)間:2021-12-02 09:31:42 來(lái)源:億速云 閱讀:128 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下LINQ表達(dá)式怎么寫(xiě),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

LINQ表達(dá)式簡(jiǎn)介

1.OO(面向?qū)ο螅┮酝獾慕颍盒畔⒌脑L問(wèn)與整合。關(guān)系數(shù)據(jù)庫(kù)與XML為其中的典型應(yīng)用。

2.NET Language Integrated Query (LINQ):不采用特定於關(guān)系數(shù)據(jù)庫(kù)或者XML的專(zhuān)有方案,而采用通用方案來(lái)解決各種信息源的訪問(wèn)與整合問(wèn)題。

3.在LINQ中,查詢(xún)成為編程語(yǔ)言的一個(gè)組成部分,這使得查詢(xún)表達(dá)式可以得到很好的編譯時(shí)語(yǔ)法檢查,豐富的元數(shù)據(jù),智能感知等強(qiáng)類(lèi)型語(yǔ)言的好處。

初識(shí)LINQ表達(dá)式

class app {  static void Main() {  string[] names = { "Burke", "Connor", "Frank",  "Everett", "Albert", "George",  "Harris", "David" };  IEnumerable<string> query = from s in names  where s.Length == 5  orderby s  select s.ToUpper();  foreach (string item in query)  Console.WriteLine(item);     }  }

LINQ表達(dá)式解析

IEnumerable<string> query = from s in names  where s.Length == 5  orderby s  select s.ToUpper();

在語(yǔ)義上等同于如下“方法風(fēng)格(基于方法)的查詢(xún)”:

IEnumerable<string> query = names .Where(s => s.Length == 5)  .OrderBy(s => s)  .Select(s => s.ToUpper());

LINQ查詢(xún)表達(dá)式解析

Func<string, bool> filter = delegate (string s) {  return s.Length == 5;};  Func<string, string> extract = delegate (string s) {  return s; };  Func<string, string> project = delegate (string s) {  return s.ToUpper(); };  IEnumerable<string> query = names.Where(filter)  .OrderBy(extract)  .Select(project);

查詢(xún)操作符與擴(kuò)展方法解析

查詢(xún)操作符是LINQ中的另外一項(xiàng)重要設(shè)施,LINQ使用擴(kuò)展方法來(lái)定義查詢(xún)操作符,例如where操作符:

namespace System.Linq {  public static class Enumerable {  public static IEnumerable<T> Where<T>(  this IEnumerable<T> source, Func<T, bool> predicate) {  foreach (T item in source)  if (predicate(item))  yield return item;  }  }  }

以上是“LINQ表達(dá)式怎么寫(xiě)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI