Mic*_*tum 29 .net c# read-eval-print-loop
我想知道是否有类似独立版本的Visual Studios"立即窗口"?有时我只是想测试一些简单的东西,比如"DateTime.Parse("blah")",看看是否有效.但每次我必须创建一个新的控制台应用程序,输入我的代码并测试它.
可悲的是,立即窗口仅在我调试时才起作用.PowerShell能做到吗?只需打开一个类似于cmd.exe的CLI,允许我执行一些C#代码?
Wil*_*ean 33
Linqpad - 我一直都这样使用它. http://www.linqpad.net/
不要被名称误导 - 这只是描述了它的原始动机,而不是它的功能.
就在最近,他发布了一个正确完成声明的版本 - 这是一个收费的附加组件(核心工具是免费的),但我认为只需要一点钱,非常值得.
Ath*_*ari 11
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中的新增功能.
基本上,现在你有:
csi foo.csx来自Dev Cmd Promptcsi来自Dev Cmd提示符正如您的建议,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 " .非常令人印象深刻!