.NET 程式設計師的 Playground:LINQPad

.NET 程式設計師的 Playground:LINQPad

LINQPad 的軟體套件很小只有二十兆左右,啟動速度很快。使用時只需輸入想要執行的 C# 陳述式,並按下 F5 即可

最後更新 2024/12/26 下午9:42
码农很忙
預計閱讀 5 分鐘
分類
.NET
標籤
.NET C# LINQPad

如果想要執行一個簡單的 C# 陳述式並取得執行結果,通常需要以下幾個步驟:

  • 開啟 Visual Studio 並新增一個主控台專案。
  • 在 Program.cs 中編寫程式碼並儲存。
  • 點擊執行按鈕或按下 F5 執行程式並檢視結果。

一般來說這不會有問題。但如果你和筆者一樣為 Visual Studio 安裝了各種擴充套件,那麼 Visual Studio 的啟動時間就會變得很長。新增專案時,我們必須為這些臨時的程式碼指定名稱和儲存路徑,如果保持預設名稱,很可能之後會忘記這些檔案的用途。

使用 LINQPad 可以解決上述問題。LINQPad 的軟體包很小,只有二十幾 MB,啟動速度很快。使用時只需要輸入要執行的 C# 陳述式,然後按下 F5 即可:

快速鍵 F4 可以開啟「查詢屬性」視窗,在這個視窗中,你可以引用所有執行時需要的項目,包括:dll、設定檔、JSON 和文字檔等,這些引用的檔案會被複製到輸出目錄。

同時,LINQPad 也支援直接將 NuGet 套件引用到查詢中:

也可以將查詢儲存為副檔名為 .linq 的檔案,以便重複使用程式碼。

語言支援

包括「C# 運算式 (C# Expression)」在內,LINQPad 一共支援 4 種語言和 10 種查詢類型:

  • C# Expression
  • C# Statement(s)
  • C# Program
  • VB Expression
  • VB Statement(s)
  • VB Program
  • SQL
  • ESQL
  • F# Expression
  • F# Program

LINQPad 會根據我們輸入的程式碼自動選擇正確的查詢類型,大部分時候我們不需要擔心。

結果輸出

使用 Console.WriteLine 等方法輸出的主控台內容會直接在 Result 索引標籤顯示:

LINQPad 內建了名為 Dump 的擴充方法,用於顯示物件的值。該方法對 Object 類型進行了擴充,並提供了多個多載,讓我們可以對顯示結果進行標記:

除了簡單類型,Dump 方法對複雜類型的支援也值得讚賞。我們完全可以直接依賴 Dump 方法就能了解某個物件的所有值:

甚至可以將 WinForm 或 WPF 控制項 Dump 出來,而且支援互動:

查詢結果也可以匯出,目前支援:Word、Excel 和 HTML 三種格式。

查詢編輯器的左下方是狀態指示,這裡會顯示查詢的執行狀態和執行時間。這樣,當我們需要簡略測試一個演算法的效率時,不需要再編寫額外的監測程式碼。

資料庫整合

LINQPad 可以透過 Entity Framework 或 Entity Framework Core 及對應的資料庫驅動程式連線到資料庫,例如常見的 SQL Server、MySQL、Oracle 甚至 SQLite。可以透過程式右上角的「Add connection」完成連線工作:

設定好資料庫連線後,我們就可以選定這個連線,編寫 C# 程式碼來存取資料庫:

除了可以透過執行 Dump 方法看到執行結果以外,也可以切換到「SQL」索引標籤檢視執行的 SQL 陳述式:

如果需要在 LINQPad 中直接執行 SQL 陳述式,只需將語言 (Language) 設定為 SQL 即可:

圖表支援

除了將結果集以表格形式呈現,LINQPad 也支援直接根據結果集產生統計圖。長條圖、折線圖、圓餅圖等都不成問題,而且不需要太多額外的程式碼:

LINQPad 的 Visual Studio 擴充功能 LINQBridgeVs

LINQBridgeVs 將 LINQPad 強大的 Dump 能力整合到 Visual Studio 上,支援 2012 到 2019 版本:

了解更多

本文涵蓋了 LINQPad 的大部分常用操作。作為一個開發者工具,LINQPad 的上手難度並不大。你可以在 https://www.linqpad.net/Resources.aspx 上找到更多關於 LINQPad 的資源。

LINQPad 本身也內建了大量的範例程式碼,切換左下角的索引標籤到「Samples」標籤即可看到:

總結

經過幾個月的使用,LINQPad 確實成為筆者工作中不可或缺的工具。現在,LINQPad 已經被固定在工具列,除了執行一些測試性的程式碼,它也被用來做為資料匯出工具和工具箱。筆者最喜歡的是其內建的圖表生成功能,當枯燥的資料以圖表形式展示出來時,除了驚艷,就是說不出的滿足。

LINQPad 的銷售策略是買斷制,一次購買終身有效且可以在最多三台電腦上同時安裝,高階版單用戶的售價約為 700 元人民幣,同時支援 LINQPad 5 和 LINQPad 6 兩個版本。如果它確實幫助了你,且經濟狀況允許,那麼購買一個正版授權也未嘗不可。

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2026/2/7

AOT使用經驗總結

從專案建立伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 AOT 發布測試。

繼續閱讀