Gibt es einen interaktiven Interpreter für C #? [geschlossen]

73

Manchmal ist es praktisch, Zugriff auf Ihre Sprache zu haben, um schnelle Aufgaben zu erledigen, ohne Visual Studio zu starten und eine neue Konsolen-App zu erstellen.

Gibt es so etwas wie Pythons interaktiven Modus oder die groovige Shell, außer C #?

Seth
quelle
3
Doppelte / ähnliche Frage - stackoverflow.com/questions/47537/c-console
5
Visual Studio 2015 Update 1 enthält ein interaktives C # -Fenster.
Pharring

Antworten:

106

Mit dem Visual Studio 2015 Update 1 ist jetzt ein C # Interactive-Toolfenster in Visual Studio integriert.

Das neue Werkzeugfenster wird unter ViewOther Windows→ aufgerufen C# Interactive.

Für Visual Studio 2010 bis 2013 können Sie Roslyn CTP verwenden , um ein ähnliches Werkzeugfenster in Visual Studio abzurufen.

Daniel Rose
quelle
3
Installieren Sie von msdn.microsoft.com/en-US/roslyn und dann 'view / other windows / c # interactive'
Colonel Panic
2
Dies ist jetzt die richtigste Antwort.
EightyOne Unite
2
Und es ist in Visual Studio 2015 Update 1 verfügbar. Link: visualstudio.com/en-us/news/vs2015-update1-vs.aspx#Csharp
Pharring
4
Die Befehlszeilenversion finden Sie unter C:\Program Files (x86)\MSBuild\14.0\Bin\csi.exe(automatisch im PATH in der VS-Entwickler-Eingabeaufforderung)
Ohad Schneider
37

Schauen Sie sich CsharpRepl (Teil des Mono-Projekts) an. Ich habe es selbst nie benutzt, beeile ich mich hinzuzufügen.

Für LINQ-Inhalte sollten Sie sich auch LINQPad ansehen .

Jon Skeet
quelle
3
In der Tat ist LINQPad nicht nur für LINQ nützlich!
Craig Stuntz
5
Ich führe immer ein VS Console App-Projekt im Hintergrund aus.
Mehrdad Afshari
1
CsharpRepl funktioniert ganz gut. Interpretiert keine Dateien, aber es gab einige Entwicklungen.
Dykam
2
CSharpRepl funktioniert , ist aber an den Rändern etwas rau.
Seth
2
Es ist erwähnenswert, dass LINQPad so schön wie es ist, keine "echte" interaktive Umgebung bietet, wie es CsharpRepl tut (dh die Ergebnisse bleiben nicht über die Ausführung hinweg erhalten).
Stephen Swensen
9

Es gibt mehrere .


quelle
1
Nun, und die ersten paar Ergebnisse sind alle ungefähr gleich ...
Joey
Es ist normalerweise keine gute Idee, sich die ersten Ergebnisse anzusehen, unabhängig von der Suchmaschine. Sie müssen die ersten ein oder zwei Seiten, vielleicht sogar drei, erkunden, wenn Sie sich ehrgeizig fühlen. Dies hilft nicht nur, verschiedene Suchbegriffe auszuprobieren, sondern erweitert auch Ihre Suche.
CSI scheint die neuesten Funktionen der Sprache nicht zu unterstützen. Ich habe hier einen Tipp gefunden: codeproject.com/Messages/2635407/… , der dies beheben sollte, aber ich konnte diese Version nicht richtig zum Laufen bringen.
Casebash
9

Wie andere angemerkt haben, ist Monos CSharpRepl wahrscheinlich die richtige Antwort. Wenn Sie jedoch nicht an C # gebunden sind, ist PowerShell eine hübsche Umgebung zum Herumspielen mit .NET. Ich benutze es häufig, um reguläre Ausdrücke zu testen, Zeichenfolgen zu formatieren usw. Alle Arten von Dingen, für die ConsoleProject163 herumliegt :)

Joey
quelle
7

Zusätzlich zu den anderen guten Antworten hier (+1) gibt es in Visual Studio auch CSI und das unmittelbare Fenster .

Craig Stuntz
quelle
1
Das unmittelbare Fenster ist schön, aber Sie können keine Klassen im laufenden Betrieb definieren.
Casebash
4

Hier ist ein Mono CsharpRepl , nach dem Sie suchen.

Dies dokumentiert die Funktionen, die in der interaktiven C # -Shell verfügbar sind, die Teil des C # -Compilers von Mono ist. Eine interaktive Shell wird normalerweise als Lese-Eval-Druckschleife oder Repl bezeichnet. Die interaktive C # -Shell basiert auf der Mono.CSharp-Bibliothek (http: / monodoc / N: Mono.CSharp), einer Bibliothek, die einen C # -Compilerdienst bereitstellt, mit dem Ausdrücke und Anweisungen im laufenden Betrieb ausgewertet werden können.

David Basarab
quelle
2

Mit Roslyn CTP gibt es jetzt ein vollständiges interaktives C # -Fenster von Microsoft direkt in Visual Studio !! Funktioniert super! Bisher laufen alle meine Bibliotheken. Nach der Installation: Aufruf von View -> Other Windows -> C # Interactive aus dem Menü.

Gregor Schmitz
quelle
2

Ich denke, CShell wäre ein guter Beitrag zu den hier gegebenen Antworten. Es bietet ein REPL-Befehlsfenster mit aktivierter Codevervollständigung sowie einfache Tools zur Verwaltung des Arbeitsbereichs, die einige Arbeitsdateien und Bibliotheksreferenzen enthalten.

Paul
quelle
1

Ich benutze manchmal ideone.com , aber LINQPad ist eine gute Wahl, wenn eine Installation akzeptabel ist.

Ian Newson
quelle
+1 um mich an LINQPad zu erinnern, ich habe es installiert, aber ich benutze es heutzutage selten. Es ist keine interaktive Shell als solche, sondern amost. Es ist so schnell, eine oder mehrere Zeilen niederzuschlagen und die Ausgabe zu sehen. Es ist großartig, die Syntax zum Beispiel mit regulären Ausdrücken richtig zu machen. (LINQPad kann für viel mehr als das verwendet werden!)
Giuseppe Romagnuolo
0

Sie können dieses von Miguel De Icaza entwickelte Produkt verwenden, es wird mit Mono geliefert und verfügt über eine Code-Vervollständigung

Kristian Damian
quelle
0

Wenn Sie nach einer einfachen webbasierten Umgebung suchen, um C # -Code zu erstellen, versuchen Sie es mit coderpad.io. Sie sind sich nicht sicher, ob Sie Bibliotheken hinzufügen können, aber es ist eine schnelle und einfache Lösung, wenn Sie nur mehrere Befehle testen möchten

kleiner Finger
quelle