架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 333|回复: 2

[资料] Visual Studio 中 C# 交互窗口(Interactive)执行代码

[复制链接]
发表于 2024-3-9 12:06:50 | 显示全部楼层 |阅读模式
需求:在日常的开发中,可以需要简单的测试一些 C# 代码或者写个小 Demo,每次都可能新建一个控制台应用来执行比较麻烦,Visual Studio 开发工具给我们提供了 C# 交互窗口(Interactive)可以用来执行代码。

首先,打开“C# 交互窗口(Interactive)”,运行 VS 2022 选择继续无需代码,依次点击“视图”->“其他窗口”,如下图:

QQ截图20240309095956.jpg QQ截图20240309104138.jpg

使用 Environment.Version 代码,输出当前运行时的版本。

对于 .NET Core 3.x 和 .NET 5+,Environment.Version属性返回 .NET 运行时版本号。对于 .NET Framework 版本 4、4.5、4.5.1 和 4.5.2,Environment.Version属性返回一个Version对象,其字符串表示形式为4.0.30319.xxxxx。对于 .NET Framework 4.6 及更高版本以及 .NET Core 3.0 之前的版本,它的形式为4.0.30319.42000。
参考:https://learn.microsoft.com/zh-cn/dotnet/api/system.environment.version?view=net-8.0

通过 #help 查看帮助,如下:

键盘快捷方式:
  Enter                如果显示当前提交完成,则对其进行求值。否则,插入新行。
  Ctrl-Enter           在当前提交内,对当前提交求值。
                       在前一个提交内,将前一个提交追加到当前提交。
  Shift-Enter          插入新行。
  Escape               清除当前提交。
  Alt-UpArrow          将当前提交替换为前一个提交。
  Alt-DownArrow        将当前提交替换为后一个提交(在之前已向后导航之后)。
  Ctrl-Alt-UpArrow     将当前提交替换为以相同文本开头的前一个提交。
  Ctrl-Alt-DownArrow   将当前提交替换为以相同文本开头的后一个提交(在之前已向后导航之后)。
  Ctrl-K, Ctrl-Enter   在交互式缓冲区末尾粘贴选定内容,将插入点置于输入末尾。
  Ctrl-E, Ctrl-Enter   粘贴选定内容,并在交互式缓冲中任何挂起的输入之前执行。
  Ctrl-A               第一次按下时,选择包含光标的提交,第二次按下时,选择窗口中的所有文本。
REPL 命令:
  #cls, #clear         清除编辑器窗口中的内容,保留历史记录和执行上下文不变。
  #help                显示有关指定命令的帮助,如果未指定,则显示有关所有可用命令和密钥绑定的帮助。
  #reset               通过选择切换主机进程的运行时,将执行环境重置为初始状态并保留历史记录。
脚本指令:
  #r                   添加对指定程序集及其所有依赖项的元数据引用,例如 #r "myLib.dll"。
  #load                加载指定的脚本文件并执行,例如 #load "myScript.csx"。
使用“Ctrl-Enter”键执行待提交的代码,“Alt-向上箭头符号”选择输入历史代码

运行简单的 C# 代码进行测试:

QQ截图20240309104937.jpg

引用其它 dll 依赖,如果想序列化一个对象,可能需要用到 Newtonsoft.Json 类库,使用 #r 命令加载 dll,代码如下:

QQ截图20240309113851.jpg

同时,我们也可以将代码保存成 .csx 文件,方便下次执行,文件内容如下:

执行效果如下:

QQ截图20240309114239.jpg

(完)





上一篇:SQL Server 使用扩展事件跟踪 Deadlock 死锁问题
下一篇:.NET/C# 之 Roslyn 编译器平台
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-3-9 12:13:42 | 显示全部楼层
Visual Studio Code 插件添加 Polyglot Notebooks(原名称:.NET Interactive Notebooks)也可以执行 C# 代码。

.NET Interactive 地址:https://github.com/dotnet/interactive
Try .NET 地址:https://github.com/dotnet/try
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-3-9 13:52:41 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 16:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表