Dasar-Dasar C#: Esensial Input dan Output
Dasar-Dasar C#: Esensial Input dan Output
Panduan ini memandu Anda melalui teknik input dan output inti C#, menunjukkan cara membaca data pengguna dan menampilkan hasil dengan andal.
Output C#
Untuk menulis data ke konsol, C# menawarkan dua metode utama:
System.Console.WriteLine() System.Console.Write()
Di sini, System adalah namespace, Console adalah kelas di dalam namespace tersebut, dan WriteLine dan Write adalah metodenya.
Contoh 1: Mencetak String dengan WriteLine()
using System; namespace Sample { class Test { public static void Main(string[] args) { Console.WriteLine("C# is cool"); } } }
Menjalankan program menghasilkan:
C# is cool
Perbedaan Antara WriteLine() dan Write()
WriteLine() mengeluarkan teks yang diberikan dan maju ke baris baru, sedangkan Write() mencetak teks tanpa menambahkan baris baru.
Contoh 2: Menggunakan WriteLine() dan 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"); } } }
Output:
Prints on New line Prints on Same line
Mencetak Variabel dan Literal
Kedua WriteLine() dan Write() dapat menampilkan variabel dan literal.
Contoh 3: Variabel dan Literal
using System; namespace Sample { class Test { public static void Main(string[] args) { int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); } } }
Hasil:
10 50.05
Menggabungkan String dengan Operator +
String dapat digabungkan menggunakan operator + selama output.
Contoh 4: Output Digabungkan
using System; namespace Sample { class Test { public static void Main(string[] args) { int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); } } }
Hasil:
Hello World Value = 55
String Terformat – Pendekatan yang Lebih Bersih
String terformat memungkinkan Anda menyematkan placeholder yang diganti saat runtime, meningkatkan keterbacaan dan mengurangi kesalahan.
Misalnya, alih-alih:
Console.WriteLine("Value = " + val);
gunakan:
Console.WriteLine("Value = {0}", val);
Di sini, {0} adalah placeholder untuk val. Beberapa variabel ditangani dengan placeholder tambahan.
Contoh 5: Menggunakan String Formatting
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); } } }
Output:
5 + 10 = 15
Metode ini lebih mudah dibaca dan kurang rentan kesalahan dibandingkan penggabungan manual.
Pelajari lebih lanjut tentang string formatting di C# string formatting.
Input C#
Cara termudah untuk menangkap input pengguna adalah Console.ReadLine(). Untuk input yang lebih detail, Read() dan ReadKey() juga tersedia.
Contoh 6: Membaca String dari Pengguna
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); } } }
Output:
Enter a string - Hello World You entered 'Hello World'
Memahami ReadLine(), Read(), dan ReadKey()
- ReadLine(): Membaca seluruh baris dari aliran input dan mengembalikannya sebagai string.
- Read(): Membaca karakter berikutnya dan mengembalikan nilai ASCII-nya.
- ReadKey(): Menangkap penekanan tombol tanpa menunggu tombol Enter; berguna untuk prompt jeda.
Untuk wawasan lebih dalam, lihat diskusi di StackOverflow berjudul “Difference between Console.Read() and Console.ReadLine?”.
Contoh 7: Mendemonstrasikan Read() dan 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); } } }
Output:
Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76
Perhatikan bahwa ReadKey() menampilkan tombol segera, sementara Read() menangkap baris tetapi hanya mengembalikan kode ASCII karakter pertama (di sini, 76 untuk ‘L’).
Membaca Nilai Numerik
Sementara string dibaca langsung, tipe numerik memerlukan konversi. Kelas Convert menyediakan metode yang sederhana.
Contoh 8: Mengonversi Input Pengguna ke Angka
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); } } }
Hasil:
Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412
Metode ToInt32() dan ToDouble() dari Convert mengubah string input menjadi tipe numerik yang diinginkan. Daftar lengkap metode konversi tersedia dalam dokumentasi .NET.
Jelajahi strategi input numerik alternatif di Reading an integer from user input.