2018 iT邦幫忙鐵人賽. # 深入探索LINQ. 踏上探索的旅途: 前言 · 探索的準備: 使用工具及資源說明 · 每個.NET工程師都要有的一隻箭: LINQPad介紹 · 藏在 foreach 下的 ... ... <看更多>
Search
Search
2018 iT邦幫忙鐵人賽. # 深入探索LINQ. 踏上探索的旅途: 前言 · 探索的準備: 使用工具及資源說明 · 每個.NET工程師都要有的一隻箭: LINQPad介紹 · 藏在 foreach 下的 ... ... <看更多>
#1. 使用C# 的Language Integrated Query (LINQ) | Microsoft Docs
Language Integrated Query (LINQ) 是一組以直接將查詢功能整合至C# 語言為基礎之技術的 ... 若要開始使用C# 中的LINQ,請參閱使用LINQ 教學課程。
LINQ 的介紹. LINQ全名為Language Integrated Query,顧名思義就是此程式語言擁有查詢資料的能力,LINQ的出現使得C# (F#、 ...
#3. LINQ入門、簡介、初試身手#2 -- 基礎語法(I) | ASP.NET專題 ...
NET / LINQ / SQL / Entity; 2020-12-03 ... LINQ的C# 與VB語法在很多地方都有差異, ... 線上課程教學,遠距教學(Web Form 約51hr) ...
#4. LINQ 深入淺出(一):觀念篇. 教學傳送門《Language ...
而在這時候LINQ (C# 3.0^)和ASP.NET MVC就此誕生,微軟新的架構就是要來解決控制項效能和PostBack問題,但是相對而言,門檻也提高了,但過了那個關卡 ...
#5. LinQ教學 - 極客書
LinQ教學 LINQ 環境安裝設置LINQ查詢運算符LINQ SQLLINQ對象LINQ Dataset(數據 ... C#. using System; using System.Linq; class Program { static void Main() ...
#6. LINQ基本介紹 - 叡揚資訊
LINQ ,全名為 Language Integrated Query ,發音為"link",顧名思義就是指擁有資料查詢能力的語言,是一種將查詢功能整合至以C#語言為基礎之技術的 ...
C#. using System; using System.Linq; class Program { static void Main() { string[] words = {"hello", "wonderful", "LINQ", "beautiful", "world"}; //Get only ...
#8. LINQ寫法:類SQL查詢語法vs 方法串接 - 黑暗執行緒
記得在LINQ剛推出時以「可以在C#裡寫SQL語法查資料」為號召,範例裡常看到這種長得有點像SQL語法的LINQ查詢運算式(LINQ Query Expression, ...
#9. C# - LINQ 簡易使用教學
where int.Parse(p.split(';')[0]) > 10 //假設[0] 是ID(integer). select p;. foreach(String p in query). MessageBox.show(p);.
#10. Language-Integrated Query 快速上手( C# ) (LINQ) | Udemy
學習Entity Framework 與各式ORM 框架之前的必備技能.
#11. 保哥線上講堂:LINQ 快速上手 - SlideShare
什麼是LINQ • 全名:Language INtegrated Query • LINQ 是Visual Studio 2008 引進的一組功能,可將強大的查詢功能擴充至C# 和Visual Basic 的語言 ...
#12. LINQ完全攻略(C#) 線上程式課程 - HiSKIO
13 小時完整「集大成」教材內容,帶您快速精通LINQ 工作技巧,內含大量實作案例 ... 果真讓我大吃一驚,我有看過其他老師的LINQ教學,都沒有像Kevin老師講得這麼詳細。
#13. 常用SQL語法與LINQ比對,以及效能比較 - TPIsoftware
介紹常用的SQL語法在採用LINQ時的表現方式,以及如何避免不恰當的寫法照成DB效能不佳.
#14. 語言整合查詢- 維基百科,自由的百科全書
... Integrated Query,縮寫:LINQ),發音"link",是微軟的一項技術,新增一種自然查詢的SQL語法到.NET Framework的程式語言中,目前可支援C#以及Visual Basic .
#15. 2018 iT邦幫忙鐵人賽| 深入探索LINQ
2018 iT邦幫忙鐵人賽. # 深入探索LINQ. 踏上探索的旅途: 前言 · 探索的準備: 使用工具及資源說明 · 每個.NET工程師都要有的一隻箭: LINQPad介紹 · 藏在 foreach 下的 ...
#16. LINQ to SQL語句(19)之ADO.NET與LINQ to SQL - 吉米.NET
ADO.NET與LINQ to SQL 它基於由ADO.NET 提供程式模型提供的服務。 因此,我們可以將LINQ to SQL 代碼與現有的ADO.NET 應用程式混合在一起,將當前ADO.
#17. ASP.NET LINQ - 億聚網
如:Select,Project,Join,Group,Partition,Set操作等關係運算符在LINQ中實現,而 .Net framework 3.5+ 中的C# 和VB編譯器支持LINQ語法,可以使用配置的數據存儲而不 ...
#18. C# 筆記:從Lambda 表示式到LINQ - Huan-Lin 學習筆記
先用一個範例程式把前面幾篇C# 筆記介紹的語法做個總複習吧!程式碼如下: ... Linq; 4: using System.Text; 5: 6: namespace LambdaExpressionDemo
#19. LINQ其實很簡單
其實對於VB開發人員來說,掌握LINQ說真的比C#來的簡單很多,主要的原因就是VB當中有非常多"自動"的隱含型別轉換,是不需要寫程式碼的,也因此操作起來 ...
#20. [C#] LINQ @ 奧托森學習手札 - 隨意窩
From:Head First C# [Chap15] LINQ 一、何謂LINQ(Language-Integrated Query) C++ 的STL,Java、C# 的Collection/Generic 提供我們許多相當好用的 ...
#21. 目前活動- SkillTree 我的技能樹
LINQ 不等於 EntityFramework,就有如C# 不等於.NET 一樣,LINQ 對於操作集合物件有非常強大的功能與效能,但LINQ 有著易學難精的學習曲線,在學習一段時間後,簡單的 ...
#22. 在撰寫LINQ to SQL 時應注意的幾個小地方分享
說明:所有LINQ to SQL 語法都共用db 變數即可,不需要每次執行LINQ to SQL 都產生一個新 ... 標籤: c#, c# 3.0, linq, linq to sql, anonymous type ...
#23. 保哥線上講堂:Language-Integrated Query (LINQ) 快速上手#7
想開始使用ORM 框架,不能不了解LINQ 帶來的巨大好處,在本課程中將帶大家 ... 本課程雖然是透過遠端進行教學,但課程中會有很多關卡需要挑戰(限時),請大家務必準備 ...
#24. LINQPad - 好用到爆炸、.NET開發人員必備的好用工具
NET Framework 3.0 發佈LINQ(音同Link)之後,對於程式開發人員於專案中 ... 功能介紹就不多做贅述,以下提供幾位高手對於LINQPad的介紹與教學文章:.
#25. LINQ 學不會嗎?利用LINQPad 加上滿滿的範例來練習吧
LINQPad 或許可以協助你唷,LINQPad 是一個很強大的工具,不但可以練習LINQ 也可以觀察產生的SQL 語法是否如預期,甚至可以取代Console 應用,那麼好用的 ...
#26. C#教學第10集linq |最新linq 教學新聞
可以看到更多相關新聞linq 教學您可以通过以下方式查看更多图片相关内容https://tw.kienthuccuatoi.com/ 分享. C#教學第10集linq 及相關 ...
#27. .NET 委派實戰教學:讓您真正會用LINQ、Expression - TibaMe
NET 委派實戰教學:讓您真正會用LINQ、Expression. 軟體開發學院- 微軟.NET 開發 ... 有C# 入門能力,有呼叫LINQ 或Entity Framework 經驗的工程師 ...
#28. [C#] LINQ to SQL 新手教學
LINQ 是早在2007年就已推出的技術,一直到最近我才開始接觸,以下是開始碰LINQ順手的紀錄,提供給也想接觸LINQ一點參考。 LINQ to SQL Data Model.
#29. LINQ 與SQL 的inner join 語法轉換 - 石頭閒語
我個人用C# 撰寫資料庫存取程式時,習慣先用SQL 敘述直接查詢資料庫,確認結果如我預期之後,再把這段SQL 敘述在程式碼中寫成LINQ 表達式。
#30. LINQ 設計模式using C# 4.0 (LINQ to Objects ... - 天瓏網路書店
書名:LINQ 設計模式using C# 4.0 (LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)),ISBN:9862575417, ...
#31. Linq查詢技術寫法 - 阿中日記
Language-Integrated Query (LINQ) 是Visual Studio 2008 引進的一組功能,可將強大的查詢功能擴充至C# 和Visual Basic 的語言語法。 LINQ 推出標準且容易學習的資料 ...
#32. Flier's C Sharp Notes - LINQ教學 - Google Sites
C# 調用大漠插件 · 取到小數點最後2位 · 如何使控制項不閃爍 · 將事件驅動(event-driven) 的模式改為可等候的方法(awaitable method) · 用WebBrowser下載檔案.
#33. DotNet開發聖殿::分類-ASP.NET::新浪部落
NET、VS2008、WPF、Silverlight、WCF、WF、EF、DataServices、LINQ、C#、VB、jQuery、SQL、Oslo ... 本篇為祭司的微軟教學及錄影文章【邊做邊學WebApplicationToolkit ...
#34. 格子樑| 艾倫郭| Webapp.com.tw : ASP.NET 電子書
使用C# 撰寫LINQ 入門 by Allen Kuo , 2008/06/12 23:34 使用C# 撰寫LINQ 入門. LINQ 相關資源 ... 透過自訂Function當作LINQ的Where條件(多重條件篩選)範例與動態教學
#35. C#教學 - 圖之光
C#教學 (八)泛型集合與Linq. 以下介紹C#當中常使用的泛型集合(generic collections)。泛型集合是C#標準庫提供的集合資料結構(data structure),位於命名空間System.
#36. 博客來-深入探索.NET資料存取:ADO.NET + SqlDataSource + ...
NET + SqlDataSource + LINQ(第二版),語言:繁體中文,ISBN:9789864345625,頁數:816,出版社:博碩,作者:MIS2000 ... 0-3 資料庫範例的安裝與YouTube教學影片
#37. LINQ學習筆記:解釋查詢(Interpreted Queries)-ASP.NET教學
這個表被創建以後, 我們可以編寫在C#程式中編寫一個Interpreted的LINQ查詢用於查找那些名稱中包含a字符的記錄, 程式如下: 1: using System;
#38. 【C#】Linq表示式和Lambda表示式用法對比- IT閱讀
什麼是Linq表示式?什麼是Lambda表示式? 前一段時間用到這個只是,在網上也沒找到比較簡單明瞭的方法,今天就整理了一下相關知識,有空了再仔細研究 ...
#39. [Asp .Net MVC] Linq、Lambda 與System.Linq.Enumerable 方法
前言. 這篇是過去初學Asp .Net MVC過程中的筆記,在取得Entity Framework資料庫物件、 資料運算與撰寫程式的Linq + Lambda方法。
#40. [C#] 利用LINQ Lambda 搜尋List 符合內容的資料 - Hello Code
Net 有LINQ 的時候,List 搜尋不使用回圈來撰寫,原本好幾行的程式碼可以精簡化到只剩一行就可以解決並且效能非常的優異,如果你還在使用回圈來搜尋 ...
#41. [深入学习C#]LINQ查询表达式详解(1)——基本语法 - CSDN博客
简介在Git上下载源码在工程中我们少不了要定义类或者结构去储存数据,这些数据将被临时地储存在内存中,现在我们想要对其完成一些类似于查找、过滤等 ...
#42. 「SQL & LINQ」分類相關日記@速可打
2013-03-14, [轉貼] LINQ傻瓜教學之三:更改列名如何寫select isnull(column1,0) as StoreName from ... 2012-08-07, C# SqlTransaction 交易作業(完成交易或復原異動).
#43. LINQ 與資料存取(1) -從ADO.NET 開始 - 康廷數位
商業級ASP.NET MVC 樣式與架構實務ISBN:978-986-93475-1-8(平裝... 矩陣運算. 對於初學者,此篇教學稍微進階,其中透過類別方法,建立需要的程式碼,如果 ...
#44. LINQ 標籤列表ASP.NET專題實務WebForm + MVC教學影片
NET (Web Form)書籍,也有遠距教學. 2021-04-19 ... NET + SqlDataSource + LINQ(第二版) ... NET Web API v1.0 #1 (C# / VB, 原作:Mike Wasson).
#45. linq 教學C# – Ocbzpz
Home Code備忘錄C# – LINQ 簡易使用教學jQuery – input text box 只輸入數字C# – Access another PC's folder Posted by elvisyip on 2019-11-26 2019-11-26 Code ...
#46. LinQ | 從入門到放棄
看到這題我第一個反應就是去找linq有沒有辦法分割陣列,然後再加總= = 不過LINQ效能沒有很好,看到最佳解答有提供一個不錯的方法。 我的答案:. C#.
#47. LINQ的查詢以FROM 開頭_實用技巧 - 程式人生
LINQ (C#和VB.NET 中的查詢語法)是按照FROM…WHERE…SELECT 的順序來的。這裡有一個LINQ 查詢例子: varteenAgerStudent=fromsinstudentList wheres.
#48. [開發] LINQ最基礎教學- 看板WindowsPhone - 批踢踢實業坊
說是最基礎,是因為到現在我也還是搞不懂Lamdha運算式還有LINQ的真面目 ... 擔任這個館藏查詢系統的職責因為Windows Phone使用的C#都已經是針對過LINQ ...
#49. LINQ入門及應用
LINQ 入門及應用- 資料庫系統, 王的強、張曉娜、周靜, 9789866381171. ... 第 2 章 C# 語言的新特性及相關知識 ... NET MVC4.0實務專題範例教學.
#50. C#進階之全面解析Lambda表示式 - IT人
將要執行的程式碼傳遞給非同步方法,例如 Task.Run(Action)。 編寫 LINQ 查詢表示式。 建立表示式樹。 C# 中委託的 ...
#51. linq效能- linq c#教學
使用IEnumerable.Intersect()交叉多個列表(6). 你確實可以兩次使用 Intersect 。 但是,我相信這會更有效: HashSet<int> hashSet = new HashSet<int>(list1); hashSet ...
#52. LINQ to XML - 基本操作
XML(eXtensible Markup Language) 可擴展標記語言常作為各種資訊交換用的通訊格式,例如用於SOAP 通訊協定,其豐富的描述讓資料資訊表達得更完整( ...
#53. 全面分析c# LINQ
LINQ to Object 多用於對映資料庫的查詢,LINQ to XML 用於查詢XML 元素資料。使用LINQ 查詢的前提是物件必須是一個IEnumerable 集合(注意,為了描述方便 ...
#54. [C#]LINQ–簡單使用from, where, select
Linq 的方式引用 LINQ 本身是用來做資料的查詢 將所撰寫的程式碼,轉換成查詢資料結構 並將此查詢轉換到目的地資料的引擎 像是LINQ to SQL, ...
#55. linq lambda教學,大家都在找解答 訂房優惠報報
一起加入C#的世界吧,這次介紹的是陳述式Lambda以及運算式Lambda。,之前的<C#筆記:重訪委派--從C#1.0到2.0到3.0>已經交代過lambdaexpressions的語法及其 ...
#56. Linq 教學文件- 碧華國小程式開發研究室
Linq 教學 文件. Linq Interview Questions and Answers by Shailendra Chauhan · Beginning LINQ · Introducing Microsoft LINQ · LINQ to SQL in C#.
#57. Language-Integrated Query 快速上手( C# ) (LINQ) 影音教學 ...
影片名稱: Language-Integrated Query 快速上手( C# ) (LINQ) 語系版本: 影音教學DVD版光碟片數: 單片裝(單面DVD) 安裝說明:MP4檔作業平臺:Windows 7/8/10
#58. string.CompareTo()用法in C - 邁向頂尖的坎坷之路
string.CompareTo()觀念. 輸出:只會有-1, 0, 1 三種結果. 通常用於:. 一般兩個字串做比較; 串接Linq的Where或是Join條件 ...
#59. 一個結合where、group、orderby的linq - 信德隨想
這個linq語法是之前在寫winform程式時,將DataSet的資料再整理過後,轉成dataTable的語法可以當作以後參考用,先log下來因為有時候在寫linq時,會忘記,得要把辛苦寫 ...
#60. C# 程式設計-- LinQ - 免費電子書
教學 影片 · 教學文章 · 軟體下載. C# 程式設計-- LinQ ... 參考文獻. [分享學習心得系列][LINQ, C#] Linq 初探─ 基本語法快速上手介紹.
#61. LINQ 程式設計參考資源 - L的筆記本
LINQ : Func<T> vs. Expression<Func<T>> MSDN Visual Basic 101 LINQ Samples · Visual C# 101 LINQ Samples · Hooked on LINQ · LINQ 語法教學 *****
#62. 「linqkit」動態組裝LINQ 條件的好用套件 - Wei 技術分享
一、開發環境 · 整合開發環境:Visual Studio 2019 · 語言:C# ·.net framework:4.6.2 ...
#63. LINQ to SQL使用教程- guogangj - 博客园
以下这些LINQ中对字符串操作的部分都会被聪明地转变为相关的SQL语句,而不是使用C#代码来操作。具体会被转换成什么,大家动手试试看。 复制代码. Location ...
#64. [ 解決方法] LINQ to Entities does not recognize the method ...
在這個情況下使用LINQ to Entities時, C#會告訴SQL Server去執行string.Format, 但由於SQL Server上沒有相對應的指令, 所以才會出現這個錯誤訊息 ...
#65. [LINQ] Count、Max、Min、Sum、Average及Aggregate基本運算
LINQ 提供很多好用的Function給開發者使用. 讓開發者能以簡短的語法達成需求目標,這一篇文章將記錄基本運算的方法. 因為跟數字有關,所以下面的範例將以 ...
#66. LINQPad基本安裝與C# Program模式操作範例 - SlashView
Step 3. 點選右上角的「Add Connection」。 Step 4. 因為目標對象是要連到Microsoft SQL Server,所以選Default (LINQ to SQL)。 Step ...
#67. NET 复习笔记/ LINQ,从IQueryable说起 - 知乎专栏
本篇主题:介绍C#中LINQ的主要类型,基本原理以及使用。 一、简介//语言集成查询/Query Syntax var query = from r in students where r.score < 60 ...
#68. LINQ Insight - 整合Visual Studio的LINQ分析工具 - KingKong ...
就筆者目前測試的結果,LINQ Insight在使用SqlLocalDB的情況無法使用(LINQPad可以)。以下測試是連線至SQL Server Express進行測試。 目前最新版已經 ...
#69. Step-By-Step教學(1):改寫LINQ to SQL資料異動行為
Step-By-Step教學(1):改寫LINQ to SQL資料異動行為 · 1. 建立一個Windows表單專案。 · 2. 加入LINQ to SQL類別,命為Northwind.dbml。
#70. 保哥線上講堂:Language-Integrated Query (LINQ) 快速上手#6
本課程雖然是透過遠端進行教學,但課程中會有很多關卡需要挑戰(限時),請大家務必 ... 了解LINQ 的設計概念與使用方式; 了解C# 與LINQ 相關的語言特性 ...
#71. LINQ to DataTable - Jiang Ying-Fu的部落格- 痞客邦
Language-Integrated Query (LINQ) 查詢會在實作IEnumerable<(Of <(T>)>) 介面或IQueryable 介面的資料來源上運作。由於DataTable 類別(Class) 不會實作任何一種介面, ...
#72. 一秒看破LINQ & Lambda Expressions - Mr.Wei 的程式筆記
一秒看破LINQ & Lambda Expressions ... 以前老師說一般的= 在C# 是向左指派的意思而=> 則是向右指派所以x 可以被=> 右邊所用.
#73. LINQ的Union方法,LINQUnion方法- C#入門知識 - 程式師世界
LINQ 的Union方法,LINQUnion方法. 2個集合合並,有相同的只取中其一個: source code: int[] a = { 3, 5, 7 }; int[] b = { 5, 6, 9 }; var result = a ...
#74. [C#][.NET]ASP.NET Core MVC LINQ to Entities 的CRUD
LINQ to Entities 的查詢提供兩種語法:. 以方法為基礎的查詢語法(Lambda 運算式)(預設); 查詢運算式語法(類似 Transact-SQL語法). 繼之前篇文章[C# ...
#75. LINQ to SQL - VITO の學習筆記
Create an O/R map that connects objects to data tables, columns, and more. Connect to your database using the DataContext object of LINQ to SQL.
#76. 【C#】使用LINQ查詢Array或List
過去寫程式在查詢比對Array或List中內容時總習慣又for或foreach迴圈但發現LINQ語法是個更簡潔又好懂好維護的方法,習慣了SQL的人一定會覺得親切立馬 ...
#77. jQuery Tutorial - W3Schools
C# Course · XML Course · Get Certified ». W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
#78. LinQ 基本用法(C# Unity) - 陳間時光新部落格
Linq ; public class LinqTest1 : MonoBehaviour { List<BubbleTea> bubbleTea = new List<BubbleTea> { new BubbleTea(70,"大"),
#79. [C#]LINQ多個輸入條件查詢與SQL多條件查詢Part1
之前寫程式,習慣用SQL語法,自然也就習慣串字串,不過最近摸了EntityFramework與LINQ,又是另一片天地! 讓我對於繁複且麻煩SQL連線字串Say goodbye!
#80. Newest Questions - Stack Overflow
Error CS0111, but there aren't any members called 'FirstOr' · c# azure devops · 4 mins ago A. Chadwick. 0. 0. About tweepy's direct message request.
#81. 聖殿祭司的ASP.NET 4.0專家技術手冊 (電子書)
101 個 LINQ 線上範例教學 ... 的確,若要學好 LINQ,必須弄清什麼是查詢語法與方法語法, ... 之所以造成這種混淆的原因,故事是這樣的,查詢語法是屬於 C# 3.0.
#82. Xamarin.Forms v4.0 跨平台應用程式開發寶典 - 第 5 頁 - Google 圖書結果
而所有的核心邏輯都是用 C#撰寫,C#在本書不會有深入的教學,如果你是完全的程式新手,可以先對 C#有些基礎的認識,至少要懂得變數、類別、物件,還有 Linq 和 Lambda 語法 ...
#83. Effective C#中文版 | 寫出良好C#程式的50個具體做法 第三版(電子書)
本書假設你熟悉 C#語法與語言,內容不包括語言的教學。本書討論如何整合開發 C#語言 ... 第四章“使用 LINQ”解釋 LINQ、查詢語法、與相關功能。你會看到使用擴充做法分離 ...
#84. Visual C# 2015程式設計經典(電子書) - 第 A-16 頁 - Google 圖書結果
教學,以及 MTA 、 MCP 、 MCPD 、 MCSD 認證課程的先修教材。 ... 並介紹 LINQ 和 Entity Framework ;透過 LINQ 能使用一致性的資料查詢技術、來處理陣列、集合物件、 ...
#85. 網頁程式設計ASP.NET 4.6完美入門--適用Visual C# 2015~2012(電子書)
以實用性為出發點,說明如何以 C#撰寫標準控制項、 GridView 、 DetaisView 、 Login 等控制項程式。□精解 LINQ 語法精華,讓您以 LINQ 進行 SQL 資料庫、 DataSet ...
#86. Visual C# 2013程式設計經典(電子書) - 第 A-16 頁 - Google 圖書結果
NET 、 MCPD 認證專家共同編著,並由大學教授程式設計教師提供寶貴意見及審校,是一本適合大專院校教學,以及 MTA 、 MCTS 、 MCSD 、 MCPD 認證課程的先修教材。
#87. C# 入門指南: 由基礎走向完整 Visual Studio Community 2019 專案的開發模式
《程式語言教學誌》的範例檔案--> ... T MainWindows.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using.
#88. Visual C# 2012程式設計經典(電子書) - 第 ii 頁 - Google 圖書結果
NET 資料庫程式設計、LINQ 資料查詢技術、Web 應用與分散式應用程式設計等主題做 ... 擁有多年的專業技術圖書撰寫及開發實務經驗,將教學、認證及開發專案應有的技能 ...
linq c#教學 在 [開發] LINQ最基礎教學- 看板WindowsPhone - 批踢踢實業坊 的推薦與評價
說是最基礎,是因為到現在我也還是搞不懂Lamdha運算式還有LINQ的真面目
就只是單純用下去而已,所以背後原理之類的我也很難解釋
這篇教學文純粹是教你怎麼用LINQ去輔助開發而已,
已經知道的請直接略掉吧
就以我的理解來說:
LINQ就是讓一群物件可以用類似查詢資料庫的方法去分門歸類的方法
比方說,圖書館裡面的書尺寸、書名、作者、內容都不一樣
如果我們想要去找圖書館藏書裡面的其中一本書時,你會怎麼做呢?
從第一本翻到最後一本直到找到你要的書?這有點太麻煩了吧?
通常大家應該都會先去找你要的書在哪個類別,然後再照著書架上指示尋找
在明確知道書名與分類的情況下,應該很快就能找到
(這邊先不考慮實際上有可能被上一個閱讀者亂擺或者是圖書館館員錯置的情況)
不過如果你只知道作者的名字,而這作者有很多書呢?
要不然就是你知道書名還有內容,但是分類上卻完全不是你所認定的類別
(比方說陳立誠先生寫的一本關於核能發電的書,乍看之下應該是自然科學或應用科學類,
但實際上卻是被歸類到社會科學類,因此是跟政治相關的書擺一起的,
以台灣的圖書館分類來說,就不是3或4開頭而是5開頭的)
這個時候,大家應該都會直接捨棄舊方法,乾脆找館藏系統來查詢了吧。
只要關鍵字有下對,館藏系統很快就會把書在哪裡還有所有資訊通通丟給你
至於館藏系統到底是怎麼去找到那本書的,
我想除非是對那塊有興趣的,否則應該都不會想去深入思考。
所謂的LINQ,就是擔任這個館藏查詢系統的職責
因為Windows Phone使用的C#都已經是針對過LINQ做過處理,
只要知道用法就可以很快拿來用,也不用去裝什麼外掛SDK了
(副作用就是因為實在太好用,在沒有LINQ的Java、JavaScript上就會覺得很麻煩......)
正如前面所說的,LINQ是館藏查詢系統,
使用館藏查詢系統查出來只會告訴你書擺在哪裡,不會真的把那本書送到你面前
因此LINQ查出來的東西並不是要找的物件,而是一個位置
你要使用一些方法才能把物件給調出來(也就是要自己去書架找)
詳細的方式後面再說。
LINQ的語法有兩種,一種叫做查詢語法,另外一種叫做方法語法
專有名詞實在不懂沒關係,總之前面的查詢語法很像SQL語法,
後面的方法語法則要搭配Lamdha運算式或匿名方法來進行(個人覺得Lamdha比較直覺)
而這些方法已經內建在陣列與清單等列表類別中,
因此不管你用的是List、Array或者是ObservableCollection都可以使用
查詢語法類似於這種方式:
var item = from a in list where a.Name == "WP8.1" select a;
用紅字標出來的就是查詢語法關鍵字,很明顯那些都是SQL的語法
基本上的解讀是
「在list這個群組裡面找出代號為a的變數群,而這些變數的Name屬性要等於"WP8.1"」
雖說實際上的SQL順序是要倒過來寫,但是搭配Visual Studio的情況下
不照著上面那樣寫Visual Studio會不知道你要找什麼東西
方法語法則是類似於這種方式:
var item = list.Where(a => a.Name == "WP8.1");
紅字就是方法,淺藍的箭頭則是Lamdha運算式的核心
結果跟上面查詢語法一模一樣。
Lamdha運算式簡單說就是指派一個變數/方法,然後這個變數/方法要符合後面的運算式
除了這種方法查詢以外,在各種事件的觸發指派上也很常見。
除此之外還有Orderby、Join、Reverse之類的方法與查詢關鍵字
查到之後,要怎麼把這些查詢結果變成真正的物件呢?
答案是透過他另外給的一些方法或者是用Foreach迴圈查詢
如果狀況比較單純的話,可以直接用方法,
但如果是複雜一點的狀況(比方說最終要的結果並不是單純用查詢到的物件)
還是用Foreach迴圈比較簡單明瞭。
Foreach迴圈長的就是下面這個樣子:
foreach(var a in result)
{
(......)
}
要解釋的話,就是根據result這個查詢結果,取出每一個物件(物件的代號是a)
至於接下來要怎麼處理這個a物件就是看個人怎麼寫程式了
查詢方法個人比較常用的是First()和ToList(),
不過ToArray()/Single()/Max()/Min()之類的視狀況而言也不錯
這邊就只單純說明我用的First()和ToList()
First()是傳回查詢結果的第一個,在關鍵字有下好的情況下,
基本上First()一定會是你最想要的那個物件
用Single()雖然也可以傳回一個物件,但如果查詢結果是複數的話就會出錯
所以還是用First()吧,這樣可以減少一些不必要的麻煩。
(當然還有個相對的Last(),但是查詢到最後只剩下一個物件的情況下也沒差了就是)
ToList()是將查詢結果變成一個清單物件(List)
想要直接做物件綁定的話這個方式也不錯。
----------------------------------------------------
以上的文章說來也許跟C_Sharp版比較有關
對Windows Phone/Windows 8的APP而言,或許直接來講講可以用在什麼地方比較好吧
個人是在下面這兩個地方很頻繁的用LINQ:
1. 產生APP用的資料物件時
因為資料源有時蠻混亂的(例如北捷的票價就很雜亂無章......),
因此我會在產生資料物件的時候先用LINQ整理一次
2. APP頁面間的資訊傳遞
WP8的頁面之間只能用文字互傳,Win8/Win8.1/WP8.1可以傳物件,
但是Win8卻有個Bug可能導致閃退(Win8.1記得已經修正),
所以基本上還是先用文字傳遞參數吧
在這情況下,APP頁面可以用傳過來的文字參數當成關鍵字
用LINQ在資料庫物件中快速找出物件出來綁定
(綁定那又是另外一個問題了,下次有時間再寫)
可以節省不少時間與精力
(畢竟每個頁面都要在那邊Foreach有點太麻煩了)
基本上關於LINQ的部分就是講到這邊
最後還是不得不說這LINQ真的有個超大壞處,就是前面說的會讓人變懶了
懶到在沒有LINQ的程式語言就會覺得很綁手綁腳......
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.42.19
※ 文章網址: https://www.ptt.cc/bbs/WindowsPhone/M.1396886310.A.851.html
... <看更多>