我想知道是否有类似独立版本的Visual Studios"立即窗口"?有时我只是想测试一些简单的东西,比如"DateTime.Parse("blah")",看看是否有效.但每次我必须创建一个新的控制台应用程序,输入我的代码并测试它.
可悲的是,立即窗口仅在我调试时才起作用.PowerShell能做到吗?只需打开一个类似于cmd.exe的CLI,允许我执行一些C#代码?
Linqpad - 我一直都这样使用它. http://www.linqpad.net/
不要被名称误导 - 这只是描述了它的原始动机,而不是它的功能.
就在最近,他发布了一个正确完成声明的版本 - 这是一个收费的附加组件(核心工具是免费的),但我认为只需要一点钱,非常值得.
Mono项目包含一个交互式C#shell,这可能正是您所需要的.
http://www.mono-project.com/CsharpRepl
C#Interactive窗口和csi.exe REPL已添加到Visual Studio 2015 Update 1:
介绍互动交互式窗口又回来了!C#Interactive窗口返回Visual Studio 2015 Update 1以及其他一些交互式处理:
C#互动.C#Interactive窗口本质上是一个read-eval-print-loop(REPL),允许您使用.NET技术进行游戏和探索,同时利用IntelliSense,语法着色等编辑器功能.了解有关如何使用C#的更多信息在第9频道互动或阅读我们的初学者演练.
csi.如果您不想打开Visual Studio来使用C#或运行脚本文件,则可以从Developer Command Prompt访问交互式引擎.键入
csi /path/myScript.csx
以执行脚本文件或键入以简单csi
地插入命令行REPL.脚本API.Scripting API使您能够在主机创建的执行环境中执行C#代码片段.您可以通过查看我们的代码示例来了解有关如何创建自己的C#脚本引擎的更多信息.
请参阅.NET Managed Languages的Visual Studio 2015 Update 1中的新增功能.
基本上,现在你有:
IDE REPL - VS中的C#交互式窗口
脚本解释器 - csi foo.csx
来自Dev Cmd Prompt
命令行REPL - csi
来自Dev Cmd提示符
脚本API
尝试编写脚本,它没有集成到VS IDE中,但它确实允许您在脚本窗口中键入和运行C#,而无需项目编译器等...
嗯,这不是你问题的直接答案,但你可以看一下这个工具:
片段编译器
此外,如果你想看到IL产生的,或类似的,有一个插入Reflector的工具,称为Snippy,基于Jon在他自己的答案中提到的Snippy工具.
所有这些都非常好用.
正如您的建议,PowerShell可以做您想要的.例如,要测试你的DateTime.Parse,下面的一个内联将可以解决这个问题:
PS C:\ Documents and Settings\Dan> [System.DateTime] :: Parse("Blah")
使用"1"参数调用"Parse"的异常:"字符串未被识别为有效的DateTime.从索引0开始的未知单词." 在行:1 char:25 + [System.DateTime] :: Parse(<<<<"Blah")
PS C:\ Documents and Settings\Dan> [System.DateTime] :: Parse("1/2/3")
2003年2月1日00:00:00
请注意,上面使用的是当前版本的PowerShell(v1.0).PowerShell的下一个版本将允许您更直接地将C#与PowerShell脚本混合在一起.为了满足您的胃口,请观看Doug Finke的 7分钟截屏视频" C#to PowerShell " .非常令人印象深刻!