7

Zacząłem używać C# Interactive i podoba mi się fakt, że mogę przeglądać i badać niektóre funkcje API, tak jak robię to z Immediate bez potrzeby uruchamiania i debugowania mojego programu.Czy jest możliwe automatyczne wyprowadzanie wartości w języku C# Interactive (REPL), tak jak robi to Natychmiast?

Problemem jest to, że nie emituje info jak natychmiastowe ma chyba zrobię polecenie z nazwy zmiennej:

> string.Format("{0,15}", 10m);   //hit enter, here there is no output 
> var a = string.Format("{0,15}", 10m); //hit enter so... 
> a          // hit enter and... 
    "  10"       //...here the value is shown 
> 

Czy istnieje sposób, aby C# Interactive wyjściowych wartości w każdej ocenie jak Immediate robi (I bez pisania więcej kodu na to jak Console.Write)?

Odpowiedz

12

Tak, aby wyprowadzić wynik wycenionego wyrażenia, po prostu nie wstawiaj średnika na końcu. W przykładzie, zamiast tego:

string.Format("{0,15}", 10m); 

to zrobić:

string.Format("{0,15}", 10m) 

See the documentation

+0

Wow. Jak to przegapiłem. Dzięki. –

5

Kiedy skończysz z rachunku (np kończąc ;), który należy podczas deklarowania zmienne, nie otrzymujesz żadnych wyników, ponieważ ma tylko efekty uboczne.

Po zakończeniu wyrażeniem (np. Nie kończącym się na ;) otrzymasz wynik tego wyrażenia. Rozwiązaniem jest:

var a = string.Format("{0,15}", 10m); a 

Wskazówka a jako wyraz na końcu dostaniesz jej wartość wydrukowany.


Osobiście dla fragmentów multi-line chcę przetestować, zwykle mają res zmiennej:

object res; 
// code where I set res = something; 
using (var reader = new System.IO.StringReader("test")) 
{ 
    res = reader.ReadToEnd(); 
} 
res 

szczytowy wpisując zdarza się raz na sesję Visual Studio, ale wtedy po prostu użyć Alt + , aby wybrać jeden z poprzednich wpisów.

+0

Nice. Dzięki. Ale odpowiedź wykonana przez @Crowcoder jest bardziej podobna do tego, czego szukałem. Rewizja. –

+1

Ok, teraz rozumiem, że twoje pytanie było prostsze niż podane. Odpowiedziałem na podstawie, że zamierzasz zapisać wartość w zmiennej i wydrukować ją, zamiast tylko drukować. – acelent

+0

Przepraszamy za zamieszanie. –

Powiązane problemy