Visual Studio是蝙蝠车,LINQPad是兰博基尼?这个比喻很秒
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?此篇轉發自港澳臺LINQPad用戶PETER的文章
對于.NET的工程師來說最幸福的就是我們有史上最強大的IDE:Visual Studio,隨便你要上山還是下海,用著Visual Studio就像是開著蝙蝠車一樣橫行天下。
But!強大如Visual Studio也是有缺點的,例如說摩天布魯斯要去公司露個臉,總不能開著蝙蝠車去吧。這時在車庫里的蘭博基尼就排上用場了,這臺蘭博基尼就是我們本篇的主角LINQPad。
本篇目標:
介紹LINQPad的以下主題:
- 用途
- 安裝
- 界面
- 用法: Expression、Statement(s)及Program
- 引入參考
- 與資料庫連線
- Extension Methods
- 小訣竅
用途
如上所述,LINQPad之于Visual Studio就像是跑車之于戰車一樣,Visual Studio的功能強大,要做任何事情都難不倒它,但缺點就是太笨重了,消耗的資源太多,如果我們只是要做一些程式片段的驗證測試或是學習還要開啟Visual Studio然后創建專案,光是想到就會讓人卻步,這時候LINQPad就派上用場了,它有下列的優點:
- 它很輕盈(15MB)
- 有Portalble版本不用安裝可以帶著走,想在哪寫就在哪寫
- 可以不用建立專案甚至不用寫Class,只要寫你想要測試的程式碼即可(Expression、Statement)
- 可以把程式碼片段(code snippet)存起來當作范例使用
接下來我們來看看要怎么使用LINQPad吧。
安裝
請至
LINQPad有付費版本,個人覺得付費版本很實用的功能有:
- 自動完成
- 跟NuGet整合
- Debugger
介面
介面分為四個部分:
- 伺服器連線瀏覽
- 片段瀏覽器
- 程式撰寫
- 執行結果
- Result: 查詢結果(LINQPad提供Dump來得到較好的顯示品質)
- Lambda: LINQ轉為LINQ Method后的程式
- SQL: LINQ轉出的SQL Query
對介面有初步的認識后我們就來用LINQPad寫一些程式吧。
用法
對于C#,LINQPad有三種編寫方式:
- Expression 單行程式或是單個LINQ陳述式
- Statement(s)?多行的程式片段
- Program需要撰寫Class或是Method時
Expression
- 使用場景 練某個剛認識的Method時或是要以LINQ取得想要的資料時....等
- 使用方式;以單行程式碼的方式撰寫,最后不用加分號(;)
- 范例
可以看到Result直接輸出結果,在測試或學習Method時很好用。
就算是分成多行,只要還是一個陳述式就算是Expression。對于要找出期望的資料很好用。
Statement(s)
- 使用場景
- 使用方式class;
Program
- 使用場景?需要演練Method、Function或是Class時
- 使用方式?跟寫Console App一樣的方式
你沒看錯!!最外面是不需要再一層Class的,可以直接寫所需的程式碼,是不是很方便阿。
當然如果你外面還是想要包Class(跟正規的程式相同)的話也可以,請參考
引入參考
在LINQPad上如果有需要引入參考的話有兩個方式:
- 按下F4
- 在程式撰寫的區塊按右鍵>References and Properties
進入Query Properties 頁面,按下Add...或是Browse...按鈕選擇需要的參考加到程式中
與資料庫連線
在沒有LINQPad的幫助下,我們要測試用LINQ抓取的資料庫資料是否正確時,我們需要做下面兩件事:
接著我們才能開始撰寫LINQ,這一來一往間就耗掉了許多的時間,這時就該是LINQPad出場的時候了。
設定連線
現在我們要幫LINQ設定好DB的連線方式。
使用資料庫資料做LINQ演練
2.連線成功后可以看到程式碼區塊上的Connection變成Northwind
3.接著我們來寫個LINQ(此范例為LINQPad>Samples>LINQPad Tutorial & Reference>5-minute induction>What about querying a database!),執行后我們可以看到夢寐以求的資料了!~~
執行SQL語法
有沒有想要查詢資料庫時卻不想打開資料庫工具呢?這時候LINQPad又可以派上用場了(萬能阿~~)。
照著下面的步驟來取得Northwind中單價(UnitPrice)最高的產品(Products):
上述的范例如果還看不過癮的話,在LINQPad>Samples>LINQPad Tutorial & Reference>5-minute induction>But I don't have NORTHWIND!中展示了Create Table、Insert Data的演練,可以參考一下。
Extension Methods
有時候我們會想要寫個可以在全部的程式碼片段使用的通用Method,這時LINQPad的Extension Method就派上用場了,在MyExtensions這個Class中撰寫Method就可以在每個程式碼片段中做使用(就像是LINQPad內建的Dump一樣)。
2接著我們來加入Hello 到MyExtensions?中
Extension Methods的好處在于你可以擴充自己的Infrastructure,來縮減每個程式碼片段重復的處理。
小訣竅
儲存可參考的程式碼片段
有時候我們會常常參考某些好用的程式碼,這時就會想要找個地方存起來等要的時候再拿出來。
在LINQPad中有儲存程式碼片段的功能:
快捷鍵表
在Help>Keyboard/Mouse Shortcuts
執行選取的程式碼
選取想要執行的片段按下執行F5就可以執行片段程式碼
LINQPad extension methods
LINQPad自己有提供Dump,讓開發者可以產出更清楚的結果,關于Dump的詳細說明可以參考作者自己在StackOverflow的回答:?LINQPad [extension] methods
結論
LINQPad是一個麻雀雖小,五臟俱全的開發工具,在這個章節中我們學到了如何運用這功能強大的工具,下個章節我們要來尋foreach中隱藏的秘密哦!
LINQPad 已經推出全新的中文網站www.linqpad.cn, 以及微信公眾號。請關注,及時掌握最新資訊!
總結
以上是生活随笔為你收集整理的Visual Studio是蝙蝠车,LINQPad是兰博基尼?这个比喻很秒的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: j2medev“用户界面和多媒体”版面问
- 下一篇: Java 笔试:常见题目总结,soul移