如何快速编写代码并运行小型C#代码


67

有时候,我想从论坛中测试新代码,或者需要帮助我的朋友解决特定的C#问题。问题是我不想每次仅在代码中/仅运行此小代码时在Visual Studio中创建新的“项目”。

Java&Eclipse IDE附带了“剪贴簿”功能,该功能允许执行任意Java表达式。C#程序员有哪些选择?


2
与大多数旧问题一样,与此同时,正确答案也有所变化。如果您拥有Visual Studio 2015,并且不想在LINQPad上花钱,那么绝对可以使用以下答案:stackoverflow.com/a/38698819/237858
nikib3ro

Answers:


52

片段编译器对此非常有用

LINQPad还非常适合测试各种C#,F#或VB代码,而不仅仅是LINQ查询。


编辑

我想是时候我提到Snippet Compiler五年来没有更新了,因此不再是最好的选择。

但是,我最初对LINQPad的销售不足。正如Will Dean在评论中提到的那样,LINQPad非常适合各种代码,而不仅仅是LINQ查询。实际上,它已成为我必不可少的工具。我每天都使用它,不仅可以快速测试简短的代码片段,还可以用于相对复杂的迷你程序。其先进的输出格式使其非常容易快速检查中间结果和最终结果。


9
我发现LINQPad适用于所有C#东西,而不仅仅是LINQ。我认为这是错误的命名
威尔院长

如果要在LINQPad中评估短表达式,例如1 + 2"a,b".Split(',').Count(),请确保选择“ C#Expression ”,而不是默认的“ C#Statement ”(此示例将执行但不输出任何内容,与表达式窗口中的相同代码一样) 。
Pac0

33

晚会晚了一点,但我自己来这里寻找的。

最适合我的解决方案是C# InteractiveVisual Studio 2015或更高版本中使用-window 。您可以通过打开它访问View> Other Windows> C# Interactive,或选择一些C#代码,点击Execute in Interactive在右键快捷菜单。

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

我知道它可以在VS2015中工作,我认为它不能在旧版本中工作。


3
在此处尝试找出“ C#Interactive”窗口的应用程序中的名称和位置。这绝对是最好的答案。
马特·拉尔斯顿

1
谢谢,这是对我最好的答案。(+1)
123iamking '20

19

.NET Fiddle网站似乎是一个不错的选择。它具有代码完成,代码计时和NuGet软件包集成。

从他们的网站:

我们是一群.NET开发人员,他们厌倦了启动Visual Studio,创建新项目并运行它,只是为了测试简单代码或尝试其他开发人员的示例。

该工具的灵感来自http://jsfiddle.net,太棒了。

特别是,我建议尝试他们的MVC模式。在屏幕左侧选择Project Type: MVC


18

这是我的工作:

  • 转到“工具”->“选项”->“ ProjectsAndSolutions”,然后禁用“创建时保存新项目”。

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

  • 使用C#Express可以使启动更快,混乱更少,但仍然具有执行大多数操作所需的功能。



4

您可以在“即时”窗口中运行很多操作(调试>> Windows >>立即)

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





2

我仅使用为此目的定义的临时控制台应用程序项目。我删去了主程序中的所有内容,然后去了城镇。如果我决定保留所原型的内容,则创建一个新项目并将其复制到该项目。由于我一直都这样做,因此该项目也始终位于我的“最近的项目”列表中。


2

我使用批处理文件(csc.bat):
C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ csc%1%2%3%4%5%6%7%8%9

对于vb.net,我使用以下批处理文件(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

每个都将创建一个.net .exe文件。但是,此解决方案对Windows Forms应用程序而言不太理想。


2

在这里很晚,但是如果您还想与他人共享代码,那么.NET Fiddle是迄今为止我尝试过的最好的方法。对于脱机解决方案,LINQPad当然也将获得我的投票,而不仅仅是LINQ查询。


1

对于Visual Studio,这是我从未喜欢过的东西。我从VB6中错过的一件事(可能是唯一一件事)是能够创建项目并在不保存任何内容的情况下运行它。就是您所说的话很棒。

通常,我只旋转和使用每种类型的至少一个或两个废料项目(控制台,Winforms和Web)。这样,我并不总是创建新项目。


您可以在Visual Studio中随意禁用/启用此功能。转到:工具->选项->项目和解决方案。然后取消选中“创建时保存新项目”
Mwiza

1

您可以看一下C#脚本。

C#脚本

允许您在不使用IDE的情况下构建快速脚本。

高温超导

骨头


好的,现在我已经看到了摘要式IDE,它看起来是一个更好的选择:D
dbones

1

我始终保留Express Edition的副本;这可以执行和调试项目,而无需适当的文件位置(只要您不单击保存)。为我工作吗?


1

尝试SharpDevelop。它不包含所有内容,但是对于快速示例很有用。您可以打开一个解决方案,轻松地交换代码以测试其他内容。在项目属性中,您可以通过组合框选择将解决方案从控制台更改为窗口应用程序。您可以轻松地将代码从C#转换为Boo,Python,Ruby或VB,或者从任何一种语言转换为另一种语言,无论您使用的是什么来源。因此,如果您在网上寻找问题解决方案,而在VB中找不到解决方案-但在C#中却找到了解决方案,则可以将其转换。




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.