是否有C#的交互式解释器?[关闭]


73

有时,无需启动Visual Studio和创建新的控制台应用程序即可使用您的语言来执行快速操作很方便。

除了C#之外,是否还有类似Python的交互模式或groovy shell的东西?



5
Visual Studio 2015更新1包括一个C#交互式窗口。
2015年

Answers:


106

使用Visual Studio 2015 Update 1,现在在Visual Studio中内置了一个C#Interactive工具窗口。

新的工具窗口是通过将调用View→交通Other Windows→交通C# Interactive

对于Visual Studio 2010到2013,您可以使用Roslyn CTP在Visual Studio中获得类似的工具窗口。


3
msdn.microsoft.com/zh-CN/roslyn安装,然后“查看/其他Windows / C#交互式”
Panic Panic 2012年

2
这是现在最正确的答案。
八十一”联队

2
它是在Visual Studio 2015年更新1。链接可供选择:visualstudio.com/en-us/news/vs2015-update1-vs.aspx#Csharp
pharring

4
命令行版本可以在C:\Program Files (x86)\MSBuild\14.0\Bin\csi.exe(自动在VS开发人员命令提示符下的PATH中)找到
Ohad Schneider

37

看看CsharpRepl(Mono项目的一部分)。我自己从未使用过它,我急忙补充。

对于LINQ东西,您还应该查看LINQPad


3
实际上,LINQPad不仅对LINQ有用!
Craig Stuntz 2010年

5
我总是在后台运行VS Console App项目。
mmx 2010年

1
CsharpRepl工作得很好。不解释文件,但是已经有了一些发展。
Dykam,2010年

2
CSharpRepl可以工作,但是边缘有些粗糙。
赛斯

2
值得注意的是,它与LINQPad一样好,没有像CsharpRepl那样提供“真正的”交互式环境(也就是说,结果不会在执行过程中持续存在)。
斯蒂芬·斯文森(Steven Swensen)2013年

9

1
好吧,前几个结果几乎都是一样的……
Joey 2010年

不管搜索引擎如何,查看前几个结果通常都不是一个好主意。如果您有雄心壮志,则需要浏览一两个页面,甚至三个页面。除了尝试使用不同的搜索词外,这确实有助于扩大搜索范围。

CSI似乎不支持该语言的最新功能。我在这里找到了一条提示:codeproject.com/Messages/2635407/…应该可以解决此问题,但是我无法使该版本正常工作。
Casebash 2010年

9

就像其他人指出的那样,Mono的CSharpRepl可能是正确的答案。但是,如果您不习惯使用C#,那么PowerShell是一个使用.NET的不错的环境。我经常使用它来测试正则表达式,格式字符串等。ConsoleProject163的所有种类的内容都可以用于:)



4

这是您正在寻找的Mono CsharpRepl

本文档介绍了Mono的C#编译器的一部分C#交互式外壳中的可用功能。交互式外壳程序通常称为读取评估打印循环或repl。C#交互式外壳建立在Mono.CSharp(http:/ monodoc / N:Mono.CSharp)库的顶部,该库提供了C#编译器服务,可用于即时评估表达式和语句。



2

使用Roslyn CTP,现在可以在Visual Studio中直接从Microsoft获得完整的C#交互式窗口!很棒!到目前为止,我所有的库都在运行。安装后:从菜单中调用View-> Other Windows-> C#Interactive。


2

我认为CShell将对此处给出的答案做出很好的贡献。它提供了启用代码补全的REPL命令窗口以及轻便的工作区管理工具,以包括一些暂存文件和库引用。


1

有时我使用ideone.com,但是如果可以接受安装,LINQPad是一个不错的选择。


+1使我想起LINQPad,我已经安装了它,但如今我很少使用它。它本身不是交互式外壳,而是绝大部分。快速击退一行或多行并查看输出。例如,使用正则表达式获得正确的语法非常好。(LINQPad可以用于更多用途!)
Giuseppe Romagnuolo


0

如果您正在寻找一个简单的基于Web的环境来编写一些C#代码,请尝试coderpad.io不确定是否可以添加所有库,但是如果您只是想测试几个命令,那是一个快速简单的解决方案

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.