【问题标题】:Is there an interactive interpreter for C#? [closed]C# 有交互式解释器吗? [关闭]
【发布时间】:2010-01-13 17:13:48
【问题描述】:

有时,无需启动 Visual Studio 和创建新的控制台应用程序即可访问您的语言来快速完成任务。

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

【问题讨论】:

标签: c# shell


【解决方案1】:

现在有了Visual Studio 2015 Update 1,Visual Studio 中内置了一个 C# 交互式工具窗口。

通过转到ViewOther WindowsC# Interactive 调用新工具窗口。

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

【讨论】:

【解决方案2】:

看看CsharpRepl(Mono 项目的一部分)。自己没用过,赶紧补充。

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

【讨论】:

  • 确实,LINQPad 不仅仅对 LINQ 有用!
  • 我总是在后台运行一个 VS Console App 项目。
  • CsharpRepl 工作得很好。不解释文件,但有一些发展。
  • CSharpRepl 工作,但它的边缘有点粗糙。
  • 值得注意的是,与 LINQPad 一样好,它并没有像 CsharpRepl 那样提供“真正的”交互式环境(也就是说,结果不会在执行过程中保持不变)。
【解决方案3】:

【讨论】:

  • 嗯,前几个结果都差不多...
  • 查看前几个结果通常不是一个好主意,无论搜索引擎如何。如果您有雄心壮志,您需要浏览第一页或第二页,甚至可能是第三页。除了尝试不同的搜索字词之外,这确实有助于扩大您的搜索范围。
  • CSI 似乎不支持该语言的最新功能。我在这里找到了一个提示:codeproject.com/Messages/2635407/… 应该可以解决这个问题,但我无法让该版本正常工作。
【解决方案4】:

像其他人指出的那样,Mono 的 CSharpRepl 可能是正确的答案。但是,如果您不固定使用 C#,那么 PowerShell 是一个非常好的使用 .NET 的环境。我经常用它来测试正则表达式、格式化字符串等。你有 ConsoleProject163 的各种东西:)

【讨论】:

    【解决方案5】:

    除了这里的其他好答案 (+1),还有 CSI 和 Visual Studio 中的 immediate window

    【讨论】:

    • 即时窗口很好,但你不能动态定义类。
    【解决方案6】:

    这是您正在寻找的 Mono CsharpRepl

    这记录了可用的功能 在 C# 交互式 shell 中 Mono 的 C# 编译器的一部分。一个 交互式shell通常被称为 作为读取评估打印循环或repl。 C# 交互式 shell 建立在 Mono.CSharp 的顶部 (http://monodoc/N:Mono.CSharp) 库, 提供 C# 编译器的库 可用于评估的服务 动态表达式和语句。

    【讨论】:

      【解决方案7】:

      ScriptCS 使用 Roslyn CTP nuget 包。

      【讨论】:

      【解决方案8】:

      我认为CShell 会对这里给出的答案做出很好的贡献。 它提供了启用代码完成的 REPL 命令窗口以及轻量级的工作区管理工具,以包含一些临时文件和库引用。

      【讨论】:

        【解决方案9】:

        现在有了 Roslyn CTP,Microsoft 直接在 Visual Studio 中提供了一个完整的 C# 交互式窗口! 效果很好!到目前为止运行我所有的图书馆。 安装后:从菜单中调用 View -> Other Windows -> C# Interactive。

        【讨论】:

          【解决方案10】:

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

          【讨论】:

          • +1 提醒我 LINQPad,我已经安装了它,但我现在很少使用它。它不是一个交互式的 shell,而是大多数。敲下一行或多行并查看输出是如此之快。例如,使用正则表达式获得正确的语法非常棒。 (LINQPad 的用途远不止这些!)
          【解决方案11】:

          您可以使用由 Miguel De Icaza 开发的this,附带单声道并具有代码完成功能

          【讨论】:

            【解决方案12】:

            如果您正在寻找一个简单的基于 Web 的环境来编写一些 C# 代码,请尝试 coderpad.io

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-06-29
              • 2010-10-09
              • 1970-01-01
              • 1970-01-01
              • 2023-04-06
              • 1970-01-01
              • 2016-01-22
              • 1970-01-01
              相关资源
              最近更新 更多