C# Grundlagen: Eingabe und Ausgabe Essentials
C# Grundlagen: Eingabe und Ausgabe Essentials
Dieser Leitfaden führt Sie durch die Kerntechniken der Ein- und Ausgabe in C# und zeigt, wie Sie Benutzerdaten lesen und Ergebnisse zuverlässig anzeigen.
C# Ausgabe
Um Daten in die Konsole zu schreiben, bietet C# zwei primäre Methoden:
System.Console.WriteLine()
System.Console.Write()
Hierbei ist System der Namespace, Console eine Klasse innerhalb dieses Namespaces, und WriteLine sowie Write deren Methoden.
Beispiel 1: String mit WriteLine() ausgeben
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
Console.WriteLine("C# is cool");
}
}
}
Programmausgabe:
C# is cool
Unterschied zwischen WriteLine() und Write()
WriteLine() gibt den übergebenen Text aus und springt in eine neue Zeile, während Write() Text ohne Zeilenumbruch ausgibt.
Beispiel 2: Verwendung von 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");
}
}
}
Ausgabe:
Prints on New line Prints on Same line
Variablen und Literale ausgeben
Sowohl WriteLine() als auch Write() können Variablen und Literale anzeigen.
Beispiel 3: Variablen und Literale
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int value = 10; // Variable
Console.WriteLine(value); // Literal
Console.WriteLine(50.05);
}
}
}
Ergebnis:
10 50.05
Strings mit dem + Operator verketten
Strings können bei der Ausgabe mit dem + Operator kombiniert werden.
Beispiel 4: Verkettete Ausgabe
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int val = 55;
Console.WriteLine("Hello " + "World");
Console.WriteLine("Value = " + val);
}
}
}
Ergebnis:
Hello World Value = 55
Formatierte Strings – Ein saubererer Ansatz
Formatierte Strings ermöglichen es, Platzhalter einzubetten, die zur Laufzeit ersetzt werden, was die Lesbarkeit verbessert und Fehler reduziert.
Anstatt:
Console.WriteLine("Value = " + val);
verwenden Sie:
Console.WriteLine("Value = {0}", val);
Hier ist {0} ein Platzhalter für val. Mehrere Variablen werden mit zusätzlichen Platzhaltern behandelt.
Beispiel 5: String-Formatierung verwenden
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);
}
}
}
Ausgabe:
5 + 10 = 15
Diese Methode ist lesbarer und fehleranfälliger als manuelle Verkettung.
Mehr über String-Formatierung in C# String-Formatierung.
C# Eingabe
Der einfachste Weg, Benutzereingaben zu erfassen, ist Console.ReadLine(). Für granularere Eingaben stehen auch Read() und ReadKey() zur Verfügung.
Beispiel 6: String vom Benutzer einlesen
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);
}
}
}
Ausgabe:
Enter a string - Hello World You entered 'Hello World'
ReadLine(), Read() und ReadKey() verstehen
- ReadLine(): Liest eine komplette Zeile aus dem Eingabestream und gibt sie als String zurück.
- Read(): Liest das nächste Zeichen und gibt seinen ASCII-Wert zurück.
- ReadKey(): Erfasst einen Tastendruck, ohne auf die Enter-Taste zu warten; nützlich für Pause-Aufforderungen.
Für tiefere Einblicke siehe die StackOverflow-Diskussion „Difference between Console.Read() and Console.ReadLine?“.
Beispiel 7: Read() und ReadKey() demonstrieren
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);
}
}
}
Ausgabe:
Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76
Beachten Sie, dass ReadKey() die Taste sofort anzeigt, während Read() eine Zeile erfasst, aber nur den ASCII-Code des ersten Zeichens zurückgibt (hier 76 für 'L').
Numerische Werte einlesen
Während Strings direkt eingelesen werden, erfordern numerische Typen eine Konvertierung. Die Convert-Klasse bietet dafür einfache Methoden.
Beispiel 8: Benutzereingabe in Zahlen konvertieren
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();
intVal = Convert.ToInt32(userInput);
Console.WriteLine("You entered {0}", intVal);
Console.Write("Enter double value: ");
userInput = Console.ReadLine();
doubleVal = Convert.ToDouble(userInput);
Console.WriteLine("You entered {0}", doubleVal);
}
}
}
Ergebnis:
Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412
Die Convert.ToInt32() und ToDouble() Methoden transformieren den Eingabe-String in den gewünschten numerischen Typ. Eine vollständige Liste der Konvertierungsmethoden finden Sie in der .NET-Dokumentation.
Alternative Strategien für numerische Eingaben in Reading an integer from user input.
C Sprache
- Cloud-Horizonte erweitern: Neue Zonen, Container und Multicloud-Strategien
- Warum Cloud Linux Security, Stabilität und Performance im Shared Hosting boostet
- C++-Eingabe und Ausgabe meistern: Ein praktischer Leitfaden
- C Eingabe und Ausgabe (I/O) meistern: scanf() und printf() erklärt
- Python I/O & Modul-Importe meistern: Praxisleitfaden
- Java Ein- und Ausgabe meistern: Drucken, Lesen und Formatieren Ihrer Daten
- Mailboxes in Nucleus SE: Praktischer Guide zu Konfiguration und Nutzung
- Semaphores in Nucleus SE: Überblick, Konfiguration und API Essentials
- Queues in Nucleus SE: Einführung und Core Service Calls
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung