2011-08-29 53 views
12

是否有一個用於在C#/ .NET中編程快速代碼片段的交互式shell?有時候,我有興趣嘗試一段.NET代碼而不創建一個完整的控制檯應用程序(當我完成後我必須刪除)。是否有用於編程快速C#代碼片段的交互式shell?

據我所知,即時窗口提供了這種功能,但它似乎你必須打開一個應用程序,並調試立即窗口的任何用途。

我之前正在修補Ruby,交互式Ruby Shell(irb)是一個寶貴的小工具,用於嘗試Ruby代碼的小片段。輕量級和瞬間。這種事對我來說似乎是一件容易的事。像C#/ .NET這樣的東西存在嗎?

+0

可能的重複http://stackoverflow.com/questions/1187423/anders-hejlsbergs-c-4-0-repl – rtalbot

+0

可能重複的[C#REPL工具;快速的類似於控制檯的編譯工具](http://stackoverflow.com/questions/2204823/c-repl-tools-quick-console-like-compiling-tool) –

+0

不是交互式的,但SnippetCompiler可以編譯代碼片段,拋出一些控制檯.Writelines,它仍然非常有用:http://www.sliver.com/dotnet/SnippetCompiler/。 –

回答

16

LINQPad是針對非常整潔:

LINQPad比LINQ工具:它是一個符合人體工程學的C#/ VB/F# 便籤,可以立即執行任何表達,語句塊或 程序具有豐富的輸出格式 - 終極動態 開發。結束那些凌亂您的源文件夾的數百個Visual Studio Console 項目!

5

C#沒有完整的交互式shell。但是,對於很多事情,您可以使用LINQPad快速嘗試一段C#代碼。雖然它旨在用於LINQ測試,但它也適用於其他C#代碼。

有關詳細信息,請參見LINQPad as a Code Snippet IDE

-1

這就是所謂的snippetcompiler,將爲URL搜索...

1

是的,有一個單聲道mono-project.com/CsharpRepl

0

我們剛剛發佈了一個小REPL工具,C#與代碼完成和所有叫做CShellhttp://cshell.net

您也可以編寫腳本,然後將它們發送到REPL,或者直接在REPL中編寫代碼片段。

它仍處於測試階段,但效果相當不錯!

Screenshot of CShell

0

淨小提琴https://dotnetfiddle.net/是一個選項。不完全是一個可以嘗試任何表達式的交互式環境。在.Net小提琴中,您可以更改項目類型,編譯器版本等。

0

LINQPad非常好,但是如果您進入快速(無需安裝)的C#代碼段測試而無需外部依賴項(文件,數據庫等)您也可以使用Rextester

但是,請注意它的編譯器版本是4.0.30319.17929,所以C#6.0中的插件字符串,空條件屬性初始值設定項的花式功能將不可用。