日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LINQ-from多from

發布時間:2024/10/12 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LINQ-from多from 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡:

  LINQ全稱是Language? Integrated Query,中文“語言集成查詢”。LINQ是一種查詢技術,有LINQ toSQL、LINQ to Object、

LINQ to ADO.Net、LINQ to XML、 LINQ to EF等。

LINQ與直接SQL語句比較:

  1.SQL數據庫技術是一門相對比較復雜深奧的技術,不是人人都懂,而LINQ to SQL比較簡單(實際上底層都對數據庫操作進行了

封裝,架構了數據訪問層)

  2.直接寫SQL語句,如果有問題,只有到運行時才知道。

  3.LINQ to SQL可以很好的防止注入攻擊

  4.LINQ是面向對象的查詢,主要在程序內部使用(比如查找所需要的數據),比使用DataReader讀取數據等方便多了;直接寫

SQL是面向關系型數據庫的查詢。

  5.從運行效率上來說性能不如直接SQL語句,但是開發效率提高了。

?

要學習LINQ首先要學習LINQ查詢表達式。

  LINQ的查詢有3個基本部分組成;獲取數據源,創建查詢,執行查詢

  

static void Main(string[] args){//【1】獲取數據源List<int> s = new List<int>() { 1,2,5,88,9,4,55,3};//【2】創建查詢var number = from num in swhere num % 2 == 0select num * 10;//與SQL語句比較下//select * from s where id%2==0//【3】執行查詢foreach (var item in number){Console.WriteLine(item);}Console.ReadKey();}

在LINQ中,查詢的執行與查詢本身截然不同,換句話說,如果只是創建查詢變量,則不會檢索任何數據。

LINQ的數據源藥酒必須實現IEnumerable<T>接口,數組隱士支持這個接口,number叫做查詢變量,它存儲了一個查詢表達式

注意,聲明查詢變量并不會執行查詢,真正的執行查詢延遲到了Foreach語句中。? ??

查詢表達式必須以From子句開頭,以select或Group 子句結束。第一個from子句和最后一個select子句或Group子句之間,可以包含一個

或多個where子句、let子句、join子句、orderBy子句和Group子句,甚至還可以是From子句,它包括8個基本子句,具體如下:

  • from子句:執行查詢操作的數據源和范圍變量。
  • select子句:指定查詢結果的類型和表現形式。
  • where子句:指定篩選元素的邏輯條件。
  • let子句:引入用來臨時保存查詢表達式中的子表達式結果的范圍變量。
  • orderby子句:對查詢結果進行排序操作,包括升序和降序
  • group子句:對查詢結果進行分組。
  • into子句:提供一個臨時標識符。join、group或select子句可以通過該標識符引用查詢操作中的結果。
  • join子句:連接國歌用于查詢操作的數據源。

?

From子句

  創建一個LINQ表達式必須要以from子句開頭。

  例子1:單個from子句

  

static void Main(string[] args){string[] values = { "","日本","韓國","美國"};var sum = from a in values//第一個匹配的字符where a.IndexOf("")>0select a;foreach (var item in sum){Console.WriteLine(item);Console.ReadKey();} }

在這個LINQ表達式的from子句中,a叫做范圍變量,values是數據源。a的作用于存在于當前的LINQ表達式,表達式以外不能訪問這個變量,

where 用來篩選元素,select 用于輸出元素。這里的范圍變量a和foreach語句中的隱士變量item都可以由編輯器推斷出其類型。

?

例子2復合from子句

  在查詢數據源中,元素的屬性是一個集合時,可以使用復合from子句對這個屬性集合查詢

?

static void Main(string[] args){//【1】創建數據源List<Custom> cut = new List<Custom>(){new Custom { name="杜偉",Age=30,Table=new List<string> { "1316685*****","1764408*****"} },new Custom { name="于海燕",Age=35,Table=new List<string> {"123456****","125458****" } }};//【2】創建linq表達式var telphone = from a in cutfrom tel in a.Table //因為電話又是一個集合。where tel.IndexOf("1316685*****") > -1select a;//【3】查詢foreach (var item in telphone){Console.WriteLine("姓名{0},年齡{1}",item.name,item.Age);//Table是一個泛型集合,也需要循環輸出foreach (var tel in item.Table){Console.WriteLine("電話:{0}",tel);}}Console.ReadKey();}

?多個from子句

  

static void Main(string[] args){int[] a = { 12,4,53,48,11};int[] b = { 22,55,8,99,16};var intsum = from query in afrom query2 in b //相當于一個嵌套查詢select query + query2;foreach (var item in intsum){Console.WriteLine(item);//輸出的結果不是對應的相加,而是a數組中每個元素根b數組中每個元素相加//34 67 20 111 28 26 59 ........等 }Console.ReadKey();}

?

轉載于:https://www.cnblogs.com/xiaowie/p/9418943.html

總結

以上是生活随笔為你收集整理的LINQ-from多from的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。