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

使用LINQ進行數(shù)據(jù)轉(zhuǎn)換剖析

開發(fā) 后端
這里介紹使用LINQ進行數(shù)據(jù)轉(zhuǎn)換,語言集成查詢 (LINQ) 不僅可用于檢索數(shù)據(jù),而是還是一個功能強大的數(shù)據(jù)轉(zhuǎn)換工具。

在向大家詳細(xì)介紹使用LINQ進行數(shù)據(jù)轉(zhuǎn)換之前,首先讓大家了解下使用LINQ查詢,然后全面介紹使用LINQ進行數(shù)據(jù)轉(zhuǎn)換。

使用LINQ進行數(shù)據(jù)轉(zhuǎn)換

語言集成查詢 (LINQ) 不僅可用于檢索數(shù)據(jù),而是還是一個功能強大的數(shù)據(jù)轉(zhuǎn)換工具。通過使用LINQ查詢,您可以將源序列用作輸入,并采用多種方式修改它以創(chuàng)建新輸出序列。您可以通過排序和分組來修改序列本身,而不必修改元素本身。但是,LINQ 查詢最強大的功能可能在于它能夠創(chuàng)建新類型。這一功能在 select 子句中實現(xiàn)。例如,可以執(zhí)行下列任務(wù):
◆將多個輸入序列合并到具有新類型的單個輸出序列中。
◆創(chuàng)建其元素只包含源序列中的各個元素的一個或幾個屬性的輸出序列。
◆創(chuàng)建其元素包含對源數(shù)據(jù)執(zhí)行的操作結(jié)果的輸出序列。
◆創(chuàng)建不同格式的輸出序列。例如,您可以將 SQL 行或文本文件的數(shù)據(jù)轉(zhuǎn)換為 XML。

這只是幾個示例。當(dāng)然,可以采用多種方式將這些轉(zhuǎn)換組合在同一查詢中。另外,一個查詢的輸出序列可用作新查詢的輸入序列。
將多個輸入聯(lián)接到一個輸出序列

可以使用LINQ查詢來創(chuàng)建包含多個輸入序列的元素的輸出序列。下面的示例演示如何組合兩個內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),但組合來自 XML 或 SQL 或數(shù)據(jù)集源的數(shù)據(jù)時可應(yīng)用相同的原則。假定下面兩種類類型:

  1. class Student  
  2. {  
  3. public string First { get; set; }  
  4. public string Last {get; set;}  
  5. public int ID { get; set; }  
  6. public string Street { get; set; }  
  7. public string City { get; set; }  
  8. public List<int> Scores;  
  9. }  
  10.  
  11. class Teacher  
  12. {  
  13. public string First { get; set; }  
  14. public string Last { get; set; }  
  15. public int ID { get; set; }   
  16. public string City { get; set; }  

下面的示例演示該查詢:

  1. class DataTransformations  
  2. {  
  3. static void Main()  
  4. {  
  5. // Create the first data source.  
  6. List<Student> students = new List<Student>()  
  7. {  
  8. new Student {First="Svetlana",  
  9. Last="Omelchenko",   
  10. ID=111,   
  11. Street="123 Main Street",  
  12. City="Seattle",  
  13. Scoresnew List<int> {97, 92, 81, 60}},  
  14. new Student {First="Claire",  
  15. Last="O’Donnell",   
  16. ID=112,  
  17. Street="124 Main Street",  
  18. City="Redmond",  
  19. Scoresnew List<int> {75, 84, 91, 39}},  
  20. new Student {First="Sven",  
  21. Last="Mortensen",  
  22. ID=113,  
  23. Street="125 Main Street",  
  24. City="Lake City",  
  25. Scoresnew List<int> {88, 94, 65, 91}},  
  26. };  
  27.  
  28. // Create the second data source.  
  29. List<Teacher> teachers = new List<Teacher>()  
  30. {  
  31. new Teacher {First="Ann"Last="Beebe"ID=945City = "Seattle"},  
  32. new Teacher {First="Alex"Last="Robinson"ID=956City = "Redmond"},  
  33. new Teacher {First="Michiyo"Last="Sato"ID=972City = "Tacoma"}  
  34. };  
  35.  
  36. // Create the query.  
  37. var peopleInSeattle = (from student in students  
  38. where student.City == "Seattle"  
  39. select student.Last)  
  40. .Concat(from teacher in teachers  
  41. where teacher.City == "Seattle"  
  42. select teacher.Last);  
  43.  
  44. Console.WriteLine("The following students and teachers live in Seattle:");  
  45. // Execute the query.  
  46. foreach (var person in peopleInSeattle)  
  47. {  
  48. Console.WriteLine(person);  
  49. }  
  50.  
  51. Console.WriteLine("Press any key to exit.");  
  52. Console.ReadKey();  
  53. }  

以上介紹使用LINQ進行數(shù)據(jù)轉(zhuǎn)換

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗總結(jié)
  2. LINQ遍歷多個數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計學(xué)習(xí)筆記
  5. LINQ重要組成部分簡介
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-09 16:21:31

Linq使用sqlme

2009-09-08 15:39:13

Linq使用Inser

2017-10-31 11:55:46

sklearn數(shù)據(jù)挖掘自動化

2009-09-10 14:37:57

LINQ匿名類型

2009-09-16 16:59:05

LINQ to XML

2009-09-17 13:15:20

LINQ查詢

2009-09-09 14:40:43

Linq to sql

2009-09-14 10:13:02

LINQ查詢操作

2009-09-14 15:12:40

LINQ to XML

2019-09-30 10:12:21

機器學(xué)習(xí)數(shù)據(jù)映射

2009-03-16 10:29:45

數(shù)據(jù)挖掘過濾器Access

2022-11-02 14:45:24

Python數(shù)據(jù)分析工具

2017-02-16 08:41:09

數(shù)據(jù)Vlookup匹配

2009-09-09 13:39:05

Linq用戶定義函數(shù)

2009-09-14 10:35:15

Linq內(nèi)部執(zhí)行原理

2009-09-08 16:20:12

LINQ to SQL

2009-09-15 14:52:15

linq級聯(lián)刪除

2009-09-17 09:20:34

Linq和dLinq區(qū)

2009-09-16 09:56:42

LINQ to SQL

2009-09-18 17:17:58

LINQ模型
點贊
收藏

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