C # Grundlegende Ein- und Ausgabe

In diesem Tutorial lernen wir, wie Sie Eingaben von Benutzern vornehmen und Ausgaben in C # mit verschiedenen Methoden anzeigen

C # -Ausgabe

Um etwas in C # auszugeben, können wir verwenden

 System.Console.WriteLine () ODER System.Console.Write ()

Hier Systemist ein Namespace, Consoleist eine Klasse innerhalb des Namespace Systemund WriteLineund Writesind Methoden der Klasse Console.

Schauen wir uns ein einfaches Beispiel an, das eine Zeichenfolge auf dem Ausgabebildschirm druckt.

Beispiel 1: Drucken eines Strings mit WriteLine ()

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 C # ist cool

Unterschied zwischen WriteLine () und Write ()

Der Hauptunterschied zwischen WriteLine()und Write()besteht darin, dass die Write()Methode nur die dafür bereitgestellte Zeichenfolge druckt, während die WriteLine()Methode die Zeichenfolge druckt und ebenfalls zum Anfang der nächsten Zeile wechselt.

Schauen wir uns das folgende Beispiel an, um den Unterschied zwischen diesen Methoden zu verstehen.

Beispiel 2: Wie verwende ich die Methoden WriteLine () und Write ()?

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("Prints on "); Console.WriteLine("New line"); Console.Write("Prints on "); Console.Write("Same line"); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 Druckt in neuer Zeile Druckt in derselben Zeile

Drucken von Variablen und Literalen mit WriteLine () und Write ()

Mit der Methode WriteLine()und Write()können Variablen und Literale gedruckt werden. Hier ist ein Beispiel.

Beispiel 3: Drucken von Variablen und Literalen

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 10 50.05

Kombinieren (Verketten) von zwei Zeichenfolgen mit dem Operator + und Drucken

Zeichenfolgen können +beim Drucken mit dem Operator kombiniert / verkettet werden .

Beispiel 4: Drucken einer verketteten Zeichenfolge mit dem Operator +

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 Hallo Weltwert = 55

Drucken einer verketteten Zeichenfolge mit einer formatierten Zeichenfolge (bessere Alternative)

Eine bessere Alternative zum Drucken verketteter Zeichenfolgen ist die Verwendung formatierter Zeichenfolgen. Mit der formatierten Zeichenfolge kann der Programmierer Platzhalter für Variablen verwenden. Beispielsweise,

Die folgende Zeile,

 Console.WriteLine ("Value =" + val);

kann ersetzt werden durch,

 Console.WriteLine ("Wert = (0)", Wert);

(0)ist der Platzhalter für die Variable val, der durch den Wert val ersetzt wird. Da nur eine Variable verwendet wird, gibt es nur einen Platzhalter.

In der formatierten Zeichenfolge können mehrere Variablen verwendet werden. Wir werden das im folgenden Beispiel sehen.

Beispiel 5: Drucken einer verketteten Zeichenfolge mithilfe der Zeichenfolgenformatierung

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int firstNumber = 5, secondNumber = 10, result; result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 5 + 10 = 15

Hier (0)wird durch firstNumber (1)ersetzt, durch secondNumber ersetzt und (2)durch result ersetzt. Dieser Ansatz der Druckausgabe ist lesbarer und weniger fehleranfällig als die Verwendung des +Operators.

Weitere Informationen zur Formatierung von Zeichenfolgen finden Sie unter Formatierung von C # -Strings.

C # -Eingabe

In C # ist die einfachste Methode, um Eingaben vom Benutzer zu erhalten, die Verwendung der ReadLine()Methode der ConsoleKlasse. Jedoch Read()und ReadKey()ist auch für das Erhalten Eingabe von dem Benutzer zur Verfügung. Sie sind auch im ConsoleUnterricht enthalten.

Beispiel 6: String-Eingabe vom Benutzer abrufen

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( string testString; Console.Write("Enter a string - "); testString = Console.ReadLine(); Console.WriteLine("You entered '(0)'", testString); ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 Geben Sie eine Zeichenfolge ein - Hello World Sie haben 'Hello World' eingegeben.

Unterschied zwischen ReadLine (), Read () und ReadKey () Methode:

Der Unterschied zwischen ReadLine(), Read()und ReadKey()Methode ist:

  • ReadLine(): Die ReadLine()Methode liest die nächste Eingabezeile aus dem Standardeingabestream. Es wird dieselbe Zeichenfolge zurückgegeben.
  • Read(): Die Read()Methode liest das nächste Zeichen aus dem Standardeingabestream. Es gibt den ASCII-Wert des Zeichens zurück.
  • ReadKey(): Die ReadKey()Methode erhält die nächste vom Benutzer gedrückte Taste. Diese Methode wird normalerweise verwendet, um den Bildschirm zu halten, bis der Benutzer eine Taste drückt.

Wenn Sie mehr über diese Methoden erfahren möchten, finden Sie hier eine interessante Diskussion zu StackOverflow unter: Unterschied zwischen Console.Read () und Console.ReadLine ()?.

Beispiel 7: Unterschied zwischen Read () und ReadKey ()

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int userInput; Console.WriteLine("Press any key to continue… "); Console.ReadKey(); Console.WriteLine(); Console.Write("Input using Read() - "); userInput = Console.Read(); Console.WriteLine("Ascii Value = (0)",userInput); ) ) )

Wenn wir das Programm ausführen, wird die Ausgabe sein

 Drücken Sie eine beliebige Taste, um fortzufahren… x Eingabe mit Read () - Learning C # Ascii Value = 76

Anhand dieses Beispiels muss klar sein, wie ReadKey()und wie die Read()Methode funktioniert. Während der Verwendung ReadKey()wird die Taste auf dem Bildschirm angezeigt, sobald sie gedrückt wird.

Bei Read()Verwendung dauert es eine ganze Zeile, gibt jedoch nur den ASCII-Wert des ersten Zeichens zurück. Daher wird 76(ASCII-Wert von L) gedruckt.

Lesen numerischer Werte (Ganzzahl- und Gleitkommatypen)

Das Lesen eines Zeichens oder einer Zeichenfolge ist in C # sehr einfach. Sie müssen lediglich die entsprechenden Methoden nach Bedarf aufrufen.

Das Lesen numerischer Werte kann in C # jedoch etwas schwierig sein. Wir werden immer noch dieselbe ReadLine()Methode verwenden, die wir zum Abrufen von Zeichenfolgenwerten verwendet haben. Da die ReadLine()Methode die Eingabe jedoch als Zeichenfolge empfängt, muss sie in einen Ganzzahl- oder Gleitkommatyp konvertiert werden.

Ein einfacher Ansatz zum Konvertieren unserer Eingabe ist die Verwendung der ConvertKlassenmethoden.

Beispiel 8: Lesen numerischer Werte vom Benutzer mithilfe der Convert-Klasse

 using System; namespace UserInput ( class MyClass ( public static void Main(string() args) ( string userInput; int intVal; double doubleVal; Console.Write("Enter integer value: "); userInput = Console.ReadLine(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) ) 

Wenn wir das Programm ausführen, wird die Ausgabe sein

 Ganzzahligen Wert eingeben: 101 Sie haben 101 eingegeben. Doppelwert eingeben: 59.412 Sie haben 59.412 eingegeben

Die ToInt32()and- ToDouble()Methode der Convert-Klasse konvertiert die Zeichenfolgeneingabe in Integer- bzw. Double-Typ. Ebenso können wir die Eingabe in andere Typen konvertieren. Hier finden Sie eine vollständige Liste der verfügbaren Methoden für die Convert-Klasse.

Es gibt andere Möglichkeiten, numerische Eingaben vom Benutzer zu erhalten. Weitere Informationen finden Sie unter Lesen einer Ganzzahl aus Benutzereingaben.

Interessante Beiträge...