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 的軟體包很小只有二十兆左右,啟動速度很快。使用時只需輸入想要執行的 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 兩個版本。如果確實幫助了你,且經濟實力允許,那麼購買一個正版授權也未嘗不可。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/2/7

aot使用經驗總結

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

继续阅读