【杂谈】一个快速的C#代码学习环境(Jupyter Notebook 中跑 C# 代码)

8 篇文章 6 订阅
2 篇文章 1 订阅

tl;dr: 拉到最后看结论

笔者之前提到过,许多C#的知识笔者都是通过国外某视频网站上的播主 Tim Corey 学习的。他平时更新的视频有三类:普及C#特性/新版本特性的概述性视频、C#入门基础视频、实际项目。笔者近年来日常都会有事没事看看第一类普及特性的视频(P.S. 他的入门视频讲的特别好,概念清晰,语速也比较慢,编程外语两不误,笔者入门就是看了大量他的视频),每次讲到新语言特性的时候,总是免不了自己要上手敲点代码尝试尝试新特性的使用方法等等,有些视频里没提到的奇特的使用方式会是什么结果也是想要立刻能有反馈。毕竟 Tim 也说过:

“The best way to learn a new thing is to try it by yourself (学习一个新事物最好的方法是自己去尝试它)”

Snipaste_2022-11-11_13-42-00

但是(There always gonna be a However 😛)

在C#里,要想 尝试 一行代码可不容易。首先得打开本地 Visual Studio,然后新建项目,然后经过一系列向导,最终在硬盘上会多出来一大堆文件夹和文件(.sln, .csproj, .cs, etc.),然后编译运行之后文件就变得更多了。笔者之前为了能少经历这个过程,就建立了一个专门跑测试特性的解决方案,Playground.sln,有了这个解决方案,新来一个特性要尝试,就只要往里面添项目就行了。

这个方法用了一段时间,发现也不太行了,因为要尝试的特性越来越多,这个方法的弊端就出来了:

  • 一方面是每次都要新建项目,实在是太烦了,然后就导致很多时候好几个特性都在一个项目里测试,回头再过来要找当时写的代码就找不到了,管理还是很混乱;
  • 另一方面就是,有时候测一行代码就要先有namespace,再有class,再有static void Main()函数,然后才能开始写代码,有点烦。

Snipaste_2022-11-11_13-38-39

.NET 6 出来之后,thank god,第二方面的问题已经解决了,现在测代码的项目也可以上来就直奔主题,其他的模板代码都不需要了:

Snipaste_2022-11-11_13-49-13

然后,第一个问题仍然是困扰了笔者相当长的一段时间。这段时间里,笔者尝试过几个解决方案:

  1. 使用 网页端编译器,随便抓个搜索引擎搜一下 C# Online Compiler,一大堆结果,都能上去用。弊端就是:无法方便地进行代码管理,以后要翻过来找之前写的小Demo不太行

    在这里插入图片描述

  2. 使用 Visual Studio 自带的 C# Interactive。这个可以类似于 python 的那个直接执行 Script 的环境,也就是直接在命令行里运行 python.exe 之后出现的那个程序一样,打一行代码,就执行一行代码,整个体验大概是这样的:

    Snipaste_2022-11-11_13-55-00
    这个体验怎么说呢,很奇妙,如果你只想执行一行一行的代码,那很棒,但是但凡要for-loop 或者 if,那就是个史诗级 灾难,用过 python 的dddd。而且也不便于代码保存管理。

  3. 使用类似于 LINQPad 或者 RoslynPad 的第三方编辑器,但是它们在结果输出和调试方面还是不那么友好,代码提示也没有那么舒服,有兴趣的朋友可以尝试一下,可能这只是单纯个人不太喜欢吧。

    在这里插入图片描述

最后,笔者终于发现了一个好玩的东西,想必学过python的都知道JupyterNotebook,那么可以运行C#的一个Notebook简直对特性学习太有好了。无缝做笔记,再也不用把笔记写在注释里了。这就是 Visual Studio Code 的一个神级插件 Polyglot Notebooks

Snipaste_2022-11-11_14-40-33

Snipaste_2022-11-11_14-41-14

哇这也太舒服了。微软官方下场开发,40多万安装量,更重要的是 FREE。不多谈xdm冲。

Visual Studio Code 的插件里搜索 Polyglot Notebooks,安装完就能使用了。需要 .NET 6 开发环境(基本上装过 Visual Studio 的各位C#开发者都会有,如果没有的话,可以打开 Visual Studio Installer 在单个组件里把 .NET 6 的目标包安装即可)。

新建文件时,使用 Ctrl+Shift+P 组合键,然后选择 Polyglot Notebook: Create new blank notebook 就可以开启新的体验了。

溜了溜了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值