如果想执行一个简单的 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 两个版本。如果确实帮助了你,且经济实力允许,那么购买一个正版授权也未尝不可。

.NET 程序员的 Playground :LINQPad相关推荐

  1. 程序员应该知道的那些画图工具-第一期

    偶尔讲讲工具,放松一下. 现在写技术文章不但要写技术细节,图还得画的好看.对于表达思路和架构来说,图确实挺直观的,这篇文章介绍一下常见的绘图工具.大家可以看自己的喜好自行选择. 在早期写 golang ...

  2. 【转】对ASP.NET程序员非常有用的85个工具

    介绍 这篇文章列出了针对 ASP.NET 开发人员的有用工具. 工具 1. Visual Studio Visual Studio Productivity Power tool:Visual Stu ...

  3. derek程序员英文名_访谈-Derek Powazek谈社区设计

    derek程序员英文名 As more people gain access to the Internet, online communities are becoming increasingly ...

  4. 程序员练级攻略(2018)-陈皓-笔记整理

    程序员练级攻略(2018)     开篇词     入门篇         零基础启蒙         正式入门     修养篇         程序员修养     专业基础篇         编程语 ...

  5. 程序员对社会的作用_萧条的社会对心理健康的影响

    程序员对社会的作用 We are living in an era where life passes so quickly that mental illness has become a pivo ...

  6. 吐血整理————当代程序员必备的神器大全

    目录 程序员生产力工具大全 在我认识的所有程序员里,几乎每个人都有专属于自己的常用工具和相关资源. 所以,今天就给大家奉上数十款程序员硬核工具,另外还有一些在线开发辅助工具.在线画图工具.在线转换工具 ...

  7. 程序员零基础转行Golang开发,看这一篇就够了(含30G自学教程笔记)

    Go 语言的发展越来越好了,很多大厂使用 Go 作为主要开发语言,也有很多人开始学习 Go,准备转 Go 开发. 那么,怎么学呢? 我发现,在互联网时代,学习的困难不是说没有资料,而是资料太多,不知道 ...

  8. 「编程羽录」上线,程序员必备的这些技能你能get到嘛?

    大家好,我是小羽. 好久不见,给大家带来个好消息,小羽的全新专题「编程羽录」系列正式上新,主要是介绍一些关于面试题和经验总结的文章. 会为大家提供一些技术栈之外,程序员还需要的其他方面硬核知识,做到全 ...

  9. 学习笔记---程序员练级攻略(入门篇、修养篇、专业基础篇、软件设计篇、高手成长篇)

    根据极客时间 左耳朵耗子 整理,请忽略每一行最后的数字 文章目录 1. 入门篇 47 2. 修养篇 51 3. 专业基础篇 56 4. 软件设计篇 60 5. 高手养成 63 1. 入门篇 47 1. ...

最新文章

  1. Structs2实现文件上传功能
  2. pandasDataFrame 的定位指定文件
  3. 【转载】PHP 常用的header头部定义汇总
  4. ndr4108贴片晶振是多少频率_王一博社交平台:抛开贴小广告的电线杆,字里行间可见真性情...
  5. C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中
  6. HTML框架标签的使用-lt;framesetgt;
  7. 火狐配置java_java selenium+firefox环境搭建
  8. Python 进阶 —— itertools
  9. 多功能雨伞项目计划书_共享雨伞商业计划书完整版.doc
  10. 系统架构设计师与系统分析师历年实体分析与解答下载_软考 系统架构设计师备考经验分享...
  11. IT基础架构规划方案
  12. 文献管理工具EndNote X8 破解版,Windows版
  13. oracle获取字符串长度函数length()和hengthb()
  14. ps怎么将png做成gif_【AE教程】AE如何导出背景透明的图层到PS中做gif动图?
  15. python 日程管理程序_729. 我的日程安排表(Python)
  16. wp 主题,wp 主题大全,wp 主题模板
  17. linux运行getch吗,在linux中使用getch()函数
  18. HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作
  19. 从星图地球数据云看塔克拉玛干沙漠
  20. [VBA学习]如何在Excel的下拉选中显示多选?

热门文章

  1. 扒开系统调用的三层皮(下)
  2. ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue, RingBuffer
  3. Dave Python 练习三 -- 对象
  4. 六、 跨多个WebService管理Session
  5. c#3.0关于JSON简单操作的实用帮助类(泛型实现)
  6. 烟袋斜街-后海,印象已模糊
  7. Mac OS使用技巧十八:Safari碉堡功能之一制作Widget
  8. canvas 平滑运动_什么是电视上的运动平滑?人们为什么讨厌它?
  9. 还原出厂设置 擦除frp_如何备份,擦除和还原Apple Watch
  10. pta7-7旅游规划(dijkstra算法)