.NET 程序员的 Playground :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 两个版本。如果确实帮助了你,且经济实力允许,那么购买一个正版授权也未尝不可。
.NET 程序员的 Playground :LINQPad相关推荐
- 程序员应该知道的那些画图工具-第一期
偶尔讲讲工具,放松一下. 现在写技术文章不但要写技术细节,图还得画的好看.对于表达思路和架构来说,图确实挺直观的,这篇文章介绍一下常见的绘图工具.大家可以看自己的喜好自行选择. 在早期写 golang ...
- 【转】对ASP.NET程序员非常有用的85个工具
介绍 这篇文章列出了针对 ASP.NET 开发人员的有用工具. 工具 1. Visual Studio Visual Studio Productivity Power tool:Visual Stu ...
- derek程序员英文名_访谈-Derek Powazek谈社区设计
derek程序员英文名 As more people gain access to the Internet, online communities are becoming increasingly ...
- 程序员练级攻略(2018)-陈皓-笔记整理
程序员练级攻略(2018) 开篇词 入门篇 零基础启蒙 正式入门 修养篇 程序员修养 专业基础篇 编程语 ...
- 程序员对社会的作用_萧条的社会对心理健康的影响
程序员对社会的作用 We are living in an era where life passes so quickly that mental illness has become a pivo ...
- 吐血整理————当代程序员必备的神器大全
目录 程序员生产力工具大全 在我认识的所有程序员里,几乎每个人都有专属于自己的常用工具和相关资源. 所以,今天就给大家奉上数十款程序员硬核工具,另外还有一些在线开发辅助工具.在线画图工具.在线转换工具 ...
- 程序员零基础转行Golang开发,看这一篇就够了(含30G自学教程笔记)
Go 语言的发展越来越好了,很多大厂使用 Go 作为主要开发语言,也有很多人开始学习 Go,准备转 Go 开发. 那么,怎么学呢? 我发现,在互联网时代,学习的困难不是说没有资料,而是资料太多,不知道 ...
- 「编程羽录」上线,程序员必备的这些技能你能get到嘛?
大家好,我是小羽. 好久不见,给大家带来个好消息,小羽的全新专题「编程羽录」系列正式上新,主要是介绍一些关于面试题和经验总结的文章. 会为大家提供一些技术栈之外,程序员还需要的其他方面硬核知识,做到全 ...
- 学习笔记---程序员练级攻略(入门篇、修养篇、专业基础篇、软件设计篇、高手成长篇)
根据极客时间 左耳朵耗子 整理,请忽略每一行最后的数字 文章目录 1. 入门篇 47 2. 修养篇 51 3. 专业基础篇 56 4. 软件设计篇 60 5. 高手养成 63 1. 入门篇 47 1. ...
最新文章
- Structs2实现文件上传功能
- pandasDataFrame 的定位指定文件
- 【转载】PHP 常用的header头部定义汇总
- ndr4108贴片晶振是多少频率_王一博社交平台:抛开贴小广告的电线杆,字里行间可见真性情...
- C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中
- HTML框架标签的使用-lt;framesetgt;
- 火狐配置java_java selenium+firefox环境搭建
- Python 进阶 —— itertools
- 多功能雨伞项目计划书_共享雨伞商业计划书完整版.doc
- 系统架构设计师与系统分析师历年实体分析与解答下载_软考 系统架构设计师备考经验分享...
- IT基础架构规划方案
- 文献管理工具EndNote X8 破解版,Windows版
- oracle获取字符串长度函数length()和hengthb()
- ps怎么将png做成gif_【AE教程】AE如何导出背景透明的图层到PS中做gif动图?
- python 日程管理程序_729. 我的日程安排表(Python)
- wp 主题,wp 主题大全,wp 主题模板
- linux运行getch吗,在linux中使用getch()函数
- HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作
- 从星图地球数据云看塔克拉玛干沙漠
- [VBA学习]如何在Excel的下拉选中显示多选?
热门文章
- 扒开系统调用的三层皮(下)
- ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue, RingBuffer
- Dave Python 练习三 -- 对象
- 六、 跨多个WebService管理Session
- c#3.0关于JSON简单操作的实用帮助类(泛型实现)
- 烟袋斜街-后海,印象已模糊
- Mac OS使用技巧十八:Safari碉堡功能之一制作Widget
- canvas 平滑运动_什么是电视上的运动平滑?人们为什么讨厌它?
- 还原出厂设置 擦除frp_如何备份,擦除和还原Apple Watch
- pta7-7旅游规划(dijkstra算法)