如何快速编写和运行小的C#代码

有些时候我想从论坛上testing新的代码,或者当我需要帮助我的朋友特定的C#问题。 问题是我不想在Visual Studio中每次创build新的“项目”只是编码/只运行这个小代码。

Java和Eclipse IDE具有“剪贴簿”function,可以执行任意的Javaexpression式。 C#程序员有什么select?

代码片段编译器非常适合这个。

LINQPad也适用于testingLINQ代码。


编辑

我想现在是时候提及Snippet编译器在五年之内还没有更新,因此不再是最好的select。

但是,我最初低于LINQPad。 正如Dean在评论中提到的那样,LINQPad对各种代码都非常好,不仅仅是LINQ查询。 事实上,它已经成为我不可或缺的工具。 我每天都在使用它,不仅要快速testing短片段,而且还要testing相对复杂的小程序。 其先进的输出格式使得快速检查中间和最终结果变得非常容易。

这就是我所做的:

  • 进入工具 – >选项 – > ProjectsAndSolutions,并禁用“创build时保存新项目”。

  • 启动一个新的VS,Ctrl-Shift-N创build一个项目,并使用它。

  • 使用C#Express可以更快速地启动并减less混乱,但仍然有足够的能力去做大部分事情。

.NET Fiddle网站似乎是一个不错的select。 它有代码完成,代码时间和NuGet包集成。

从他们的网站:

我们是一群.NET开发人员,他们厌倦了启动Visual Studio,创build一个新的项目并运行它,只是为了testing简单的代码或者从其他开发者那里试用样本。

这个工具的灵感来自http://jsfiddle.net ,这真是太棒了。

特别是,我build议尝试他们的MVC模式。 在屏幕的左侧select“ Project Type: MVC

晚会有点晚了,但是我自己也是在这里找的。

对我来说最好的解决scheme是使用C# Interactive窗口。 您可以通过View > Other Windows > C# Interactive打开它,或者通过select一些c#代码并单击右键上下文菜单Execute in Interactive in Execute in Interactive来访问它。

这里是如何使用它的链接: http : //dailydotnettips.com/2016/01/12/use-c-interactive-window-for-your-coding-experiment-in-visual-studio-2015/

我知道它在VS2015的作品,我不认为它在旧版本的作品。

我通常直接从命令行使用csc

C:\ Users \ Greg> csc / o- / debug + Test.cs

也请查看Snippy和Snippy Addin for Reflector

还有一个build立在Mono之上的交互式C#shell:

http://mono-project.com/CsharpRepl

这与其他语言具有相似之处(例如,使用Ruby的irb)

你可以在立即窗口中运行很多东西(Debug >> Windows >> Immediate)

例如,您可以运行以下命令:System.IO.File.WriteAllText(@“c:\ temp \ blah.txt”,“Hi there!”);

我只是使用我为此定义的临时控制台应用程序项目。 我剪掉了主要的节目,然后去镇上。 如果我决定保留原型,我会创build一个新项目并复制到项目中。 由于我一直这样做,这个项目也一直在我最近的项目列表中。

我使用一个batch file(csc.bat):
C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ csc%1%2%3%4%5%6%7%8%9

对于vb.net我使用这个batch file(vbc.bat):
C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ vbc%1%2%3%4%5%6%7 /r:system.windows.forms.dll /r:system.data.dll / r :system.dll中

例如:C:> csc testit.cs

每个将创build一个.net .exe文件。 但是,该解决scheme对于Windows窗体应用程序来说不是那么好。

看看介绍微软的“Roslyn”CTP 。

“C#交互”窗口非常适合这一点。

在这里最后,但如果你也想与他人分享代码,那么.NET小提琴是迄今为止我尝试过的最好的。 对于离线解决scheme,LINQPad肯定会有我的投票,而不仅仅是LINQ查询。

这是我从来不喜欢的视觉工作室。 我从VB6中错过的一件事(也许是唯一的一件事)就是能够创build一个项目,并在不保存任何东西的情况下运行它。 只是你说的很好。

我通常至less有一个或两个每个types的废料项目(Console,Winforms和Web),我只是旋转和使用。 这样我并不总是创造新的项目。

你可以看看C#脚本。

C#脚本

这是允许您在不使用IDE的情况下构build快速脚本的一种方式。

HTH

骨头

我总是保留一个运行速成版的副本; 这可以执行和debugging项目,而不需要一个适当的文件位置(只要你没有保存)。 为我做的工作…

试试SharpDevelop。 它并不包含所有内容,但是对于快速示例来说是很好的。 你可以打开一个解决scheme,轻松地换出代码来testing别的东西。 在项目属性中,您可以通过comboboxselect从控制台到窗口应用程序更改解决scheme。 你可以很容易地将你的代码从C#转换为Boo,Python,Ruby或VB,或者从这些语言转换到另一种语言,从你的源代码开始。 因此,如果您在Web上查找问题解决scheme,并且无法在VB中find问题解决scheme – 但在C#中find问题解决scheme,则可以将其转换。

有一个在线Web C#编译器和执行程序: http : //www.compileonline.com/compile_csharp_online.php

您可以尝试使用ScriptCS 。 它使用Roslyn编译器使用C#创build脚本语言。