Tutorial: Membuat aplikasi konsol C# sederhana di Visual Studio (bagian 1 dari 2)
Dalam tutorial ini, Anda menggunakan Visual Studio untuk membuat dan menjalankan aplikasi konsol C#, dan menjelajahi beberapa fitur lingkungan pengembangan terpadu (IDE) Visual Studio. Tutorial ini adalah bagian 1 dari seri tutorial dua bagian.
Dalam tutorial ini, Anda menyelesaikan tugas-tugas berikut:
- Membuat proyek Visual Studio.
- Buat aplikasi konsol C#.
- Debug aplikasi Anda.
- Tutup aplikasi Anda.
- Periksa kode lengkap Anda.
Di bagian 2, Anda memperluas aplikasi ini untuk menambahkan lebih banyak proyek, mempelajari trik penelusuran kesalahan, dan mereferensikan paket pihak ketiga.
Prasyarat
Anda harus menginstal Visual Studio.
Jika Anda belum menginstal Visual Studio, buka halaman pengunduhan Visual Studio untuk menginstalnya secara gratis.
Membuat proyek
Untuk memulai, buat proyek aplikasi C#. Jenis proyek dilengkapi dengan semua file templat yang Anda butuhkan.
Buka Visual Studio, dan pilih Buat proyek baru di jendela Mulai.
Di jendela Buat proyek baru, pilih C# dari daftar Bahasa. Berikutnya, pilih Windows dari daftar Platform dan Konsol dari daftar jenis proyek.
Setelah Anda menerapkan filter bahasa, platform, dan jenis proyek, pilih templat Aplikasi Konsol, lalu pilih Berikutnya.
Catatan
Jika Anda tidak melihat templat Aplikasi Konsol, pilih Instal alat dan fitur lainnya.
Di Alat Penginstal Visual Studio, pilih beban kerja pengembangan lintas platform .NET Core.
Pilih Ubah di alat penginstal Visual Studio. Anda mungkin diminta untuk menyimpan pekerjaan Anda. Pilih Lanjutkan untuk menginstal beban kerja.
Kembali ke langkah 2 dalam prosedur "Buat proyek" ini.
Di jendela Konfigurasikan proyek baru Anda, ketik atau masukkan Kalkulator di kotak nama Proyek. Kemudian, pilih Berikutnya.
Di jendela Informasi tambahan, verifikasi bahwa .NET Core 3.1 muncul di bidang Kerangka Kerja Target. Lalu, pilih Buat.
Visual Studio membuka proyek baru Anda, yang mencakup kode "Halo Dunia" default. Untuk melihatnya di editor, pilih file kode Program.cs di jendela Penjelajah Solusi, yang biasanya berada di sisi kanan Visual Studio.
Kode "Halo Dunia" default memanggil WriteLine metode untuk menampilkan string harfiah "Hello, World!" di jendela konsol. Jika Anda menekan F5, Anda dapat menjalankan program default dalam mode Debug. Setelah aplikasi berjalan di debugger, jendela konsol tetap terbuka. Tekan sembarang tombol untuk menutup jendela konsol.
Buka Visual Studio, dan pilih Buat proyek baru di jendela Mulai.
Di jendela Buat proyek baru, pilih Semua bahasa, lalu pilih C# dari daftar dropdown. Pilih Windows dari daftar Semua platform, dan pilih Konsol dari daftar Semua jenis proyek.
Setelah Anda menerapkan filter bahasa, platform, dan jenis proyek, pilih templat Aplikasi Konsol, lalu pilih Berikutnya.
Catatan
Jika Anda tidak melihat templat Aplikasi Konsol, pilih Instal alat dan fitur lainnya.
Di Alat Penginstal Visual Studio, pilih beban kerja pengembangan desktop .NET.
Pilih Ubah di alat penginstal Visual Studio. Anda mungkin diminta untuk menyimpan pekerjaan Anda. Pilih Lanjutkan untuk menginstal beban kerja.
Kembali ke langkah 2 dalam prosedur "Buat proyek" ini.
Di jendela Konfigurasikan proyek baru Anda, ketik atau masukkan Kalkulator dalam kotak nama Proyek, lalu pilih Berikutnya.
Di jendela Informasi tambahan, pilih .NET 8.0 untuk bidang Kerangka Kerja Target. Lalu, pilih Buat.
Visual Studio membuka proyek baru Anda, yang mencakup kode "Halo Dunia" default. Untuk melihatnya di editor, pilih file kode Program.cs di jendela Penjelajah Solusi, yang biasanya berada di sisi kanan Visual Studio.
Pernyataan kode tunggal memanggil metode WriteLine untuk menampilkan string harfiah "Halo, Dunia!" di jendela konsol. Jika Anda menekan F5, Anda dapat menjalankan program default dalam mode Debug. Setelah aplikasi berjalan di debugger, jendela konsol tetap terbuka. Tekan sembarang tombol untuk menutup jendela konsol.
Catatan
Dimulai dengan .NET 6, proyek baru yang menggunakan templat konsol menghasilkan kode yang berbeda dari versi sebelumnya. Untuk mempelajari selengkapnya, lihat halaman Templat C# baru menghasilkan pernyataan tingkat atas.
Membuat aplikasi
Di bagian ini, Anda menyelesaikan tugas berikut:
- Jelajahi beberapa matematika bilangan bulat dasar di C#.
- Tambahkan kode untuk membuat aplikasi kalkulator dasar.
- Debug aplikasi untuk menemukan dan memperbaiki kesalahan.
- Persingkas kode untuk membuatnya lebih efisien.
Mempelajari matematika dengan integer
Mulailah dengan beberapa matematika bilangan bulat dasar di C#.
Di editor kode, hapus kode "Halo Dunia" default.
Secara khusus, hapus baris yang mengatakan,
Console.WriteLine("Hello World!");
.Di tempatnya, masukkan kode berikut:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();
Perhatikan bahwa ketika Anda memasukkan kode, fitur IntelliSense di Visual Studio menawarkan opsi untuk melengkapi entri secara otomatis.
Pilih tombol Mulai hijau di samping Kalkulator untuk membangun dan menjalankan program Anda, atau tekan F5.
Jendela konsol terbuka yang mengungkapkan jumlah 42 + 119, yaitu 161.
(Opsional) Anda dapat mengubah operator untuk mengubah hasilnya. Misalnya, Anda dapat mengubah
+
operator diint c = a + b;
baris kode menjadi-
untuk pengurangan,*
untuk perkalian, atau/
untuk pembagian. Kemudian, ketika Anda menjalankan program, hasilnya juga berubah.Tutup jendela konsol.
Di Penjelajah Solusi, di panel kanan, pilih Program.cs untuk menampilkan file di editor kode
Di editor kode, ganti kode "Halo Dunia" default yang mengatakan
Console.WriteLine("Hello World!");
.Ganti baris dengan kode berikut:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();
Jika Anda memasukkan kode, fitur Visual Studio IntelliSense menawarkan opsi untuk melengkapi entri secara otomatis.
Untuk membuat dan menjalankan aplikasi Anda, tekan F5, atau pilih panah hijau di samping Kalkulator nama di toolbar atas.
Jendela konsol terbuka yang menunjukkan jumlah 42 + 119, yaitu 161.
Tutup jendela konsol.
Secara opsional, Anda dapat mengubah operator untuk mengubah hasilnya. Misalnya, Anda dapat mengubah
+
operator diint c = a + b;
baris kode menjadi-
untuk pengurangan,*
untuk perkalian, atau/
untuk pembagian. Saat Anda menjalankan aplikasi, hasilnya berubah sesuai.
Menambahkan kode untuk membuat kalkulator
Lanjutkan dengan menambahkan sekumpulan kode kalkulator yang lebih kompleks ke proyek Anda.
Di editor kode, ganti semua kode di Program.cs dengan kode baru berikut:
using System; namespace Calculator { class Program { static void Main(string[] args) { // Declare variables and then initialize to zero. int num1 = 0; int num2 = 0; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#\r"); Console.WriteLine("------------------------\n"); // Ask the user to type the first number. Console.WriteLine("Type a number, and then press Enter"); num1 = Convert.ToInt32(Console.ReadLine()); // Ask the user to type the second number. Console.WriteLine("Type another number, and then press Enter"); num2 = Convert.ToInt32(Console.ReadLine()); // Ask the user to choose an option. Console.WriteLine("Choose an option from the following list:"); Console.WriteLine("\ta - Add"); Console.WriteLine("\ts - Subtract"); Console.WriteLine("\tm - Multiply"); Console.WriteLine("\td - Divide"); Console.Write("Your option? "); // Use a switch statement to do the math. switch (Console.ReadLine()) { case "a": Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2)); break; case "s": Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2)); break; case "m": Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2)); break; case "d": Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; } // Wait for the user to respond before closing. Console.Write("Press any key to close the Calculator console app..."); Console.ReadKey(); } } }
Pilih tombol Kalkulator atau tekan F5 untuk menjalankan aplikasi Anda.
Jendela konsol terbuka.
Di jendela konsol, ikuti perintah untuk menambahkan angka 42 dan 119 bersama-sama.
Aplikasi Anda akan terlihat mirip dengan tangkapan layar berikut:
Di editor kode, ganti semua kode di Program.cs dengan kode baru berikut:
// Declare variables and then initialize to zero. int num1 = 0; int num2 = 0; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#\r"); Console.WriteLine("------------------------\n"); // Ask the user to type the first number. Console.WriteLine("Type a number, and then press Enter"); num1 = Convert.ToInt32(Console.ReadLine()); // Ask the user to type the second number. Console.WriteLine("Type another number, and then press Enter"); num2 = Convert.ToInt32(Console.ReadLine()); // Ask the user to choose an option. Console.WriteLine("Choose an option from the following list:"); Console.WriteLine("\ta - Add"); Console.WriteLine("\ts - Subtract"); Console.WriteLine("\tm - Multiply"); Console.WriteLine("\td - Divide"); Console.Write("Your option? "); // Use a switch statement to do the math. switch (Console.ReadLine()) { case "a": Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2)); break; case "s": Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2)); break; case "m": Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2)); break; case "d": Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; } // Wait for the user to respond before closing. Console.Write("Press any key to close the Calculator console app..."); Console.ReadKey();
Pilih tombol Kalkulator atau tekan F5 untuk menjalankan aplikasi Anda.
Jendela konsol terbuka.
Di jendela konsol, ikuti perintah untuk menambahkan angka 42 dan 119 bersama-sama.
Aplikasi Anda akan terlihat mirip dengan tangkapan layar berikut:
Menambahkan fungsionalitas desimal
Sekarang, sesuaikan kode untuk menambahkan lebih banyak fungsionalitas.
Aplikasi kalkulator saat ini hanya menerima dan mengembalikan bilangan bulat. Misalnya, jika Anda menjalankan aplikasi dan membagi angka 42 dengan angka 119, hasil Anda adalah nol, yang tidak tepat.
Untuk memperbaiki kode untuk meningkatkan presisi dengan menangani desimal:
Dari Program.cs di editor Visual Studio, tekan Ctrl+H untuk membuka kontrol Temukan dan Ganti.
Ketik int dalam kontrol, dan ketik float di bidang Ganti.
Pilih ikon untuk Cocokkan huruf besar/kecil dan Cocokkan seluruh kata dalam kontrol, atau tekan Alt+C dan Alt+W.
Pilih ikon Ganti semua atau tekan Alt+A untuk menjalankan pencarian dan mengganti.
Jalankan aplikasi kalkulator Anda lagi, dan bagi angka 42 dengan angka 119.
Aplikasi sekarang mengembalikan angka desimal, bukan nol.
Sekarang aplikasi dapat menghasilkan hasil desimal. Buat beberapa penyesuaian lagi ke kode sehingga aplikasi juga dapat menghitung desimal.
Gunakan kontrol Temukan dan Ganti untuk mengubah setiap instans
float
variabel menjadidouble
, dan untuk mengubah setiap instansConvert.ToInt32
metode menjadiConvert.ToDouble
.Jalankan aplikasi kalkulator Anda, dan bagi angka 42,5 dengan angka 119,75.
Aplikasi sekarang menerima nilai desimal, dan mengembalikan angka desimal yang lebih panjang sebagai hasilnya.
Di bagian Revisi kode, Anda mengurangi jumlah tempat desimal dalam hasil.
Men-debug aplikasi
Anda meningkatkan aplikasi kalkulator dasar, tetapi aplikasi Anda belum menangani pengecualian, seperti kesalahan input pengguna. Misalnya, jika pengguna mencoba membagi dengan nol, atau memasukkan karakter yang tidak terduga, aplikasi mungkin berhenti bekerja, mengembalikan kesalahan, atau mengembalikan hasil non-numerik yang tidak terduga.
Mari kita telusuri beberapa kesalahan input pengguna umum, temukan di debugger jika muncul di sana, dan perbaiki dalam kode.
Tip
Untuk informasi selengkapnya tentang debugger dan cara kerjanya, lihat Tampilan awal di debugger Visual Studio.
Perbaiki kesalahan "bagi dengan nol"
Jika Anda mencoba membagi angka dengan nol, aplikasi konsol mungkin membeku, lalu menunjukkan apa yang salah di editor kode.
Catatan
Terkadang aplikasi tidak membeku, dan debugger tidak menampilkan kesalahan bagi-demi-nol. Sebaliknya, aplikasi mungkin mengembalikan hasil nonnumerik yang tidak terduga, seperti simbol tak terbatas. Perbaikan kode berikut masih berlaku.
Mari kita ubah kode untuk menangani kesalahan ini. Di Program.cs, ganti kode untuk case "d":
dengan kode berikut:
// Ask the user to enter a non-zero divisor until they do so.
while (num2 == 0)
{
Console.WriteLine("Enter a non-zero divisor: ");
num2 = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
break;
}
Setelah Anda mengganti kode, bagian dengan switch
pernyataan akan terlihat mirip dengan cuplikan layar berikut:
Sekarang, ketika Anda membagi angka apa pun dengan nol, aplikasi meminta nomor lain, dan terus bertanya sampai Anda memberikan nomor bukan nol.
Memperbaiki kesalahan "format"
Jika Anda memasukkan karakter alfabet saat aplikasi mengharapkan karakter numerik, aplikasi akan membeku. Visual Studio menunjukkan kepada Anda apa yang salah di editor kode.
Untuk mencegah pengecualian ini, Anda dapat merefaktor kode yang telah Anda masukkan sebelumnya.
Merevisi kode
Daripada mengandalkan kelas program
untuk menangani semua kode, Anda dapat membagi aplikasi Anda menjadi dua kelas: Calculator
dan Program
.
Kelas Calculator
menangani sebagian besar pekerjaan penghitungan, dan kelas Program
menangani antarmuka pengguna dan pekerjaan penanganan kesalahan.
Mari kita mulai.
Di Program.cs, hapus semuanya dan tambahkan kelas baru
Calculator
berikut:class Calculator { public static double DoOperation(double num1, double num2, string op) { double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error. // Use a switch statement to do the math. switch (op) { case "a": result = num1 + num2; break; case "s": result = num1 - num2; break; case "m": result = num1 * num2; break; case "d": // Ask the user to enter a non-zero divisor. if (num2 != 0) { result = num1 / num2; } break; // Return text for an incorrect option entry. default: break; } return result; } }
Tambahkan juga kelas
Program
baru, sebagai berikut:class Program { static void Main(string[] args) { bool endApp = false; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#\r"); Console.WriteLine("------------------------\n"); while (!endApp) { // Declare variables and set to empty. string numInput1 = ""; string numInput2 = ""; double result = 0; // Ask the user to type the first number. Console.Write("Type a number, and then press Enter: "); numInput1 = Console.ReadLine(); double cleanNum1 = 0; while (!double.TryParse(numInput1, out cleanNum1)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput1 = Console.ReadLine(); } // Ask the user to type the second number. Console.Write("Type another number, and then press Enter: "); numInput2 = Console.ReadLine(); double cleanNum2 = 0; while (!double.TryParse(numInput2, out cleanNum2)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput2 = Console.ReadLine(); } // Ask the user to choose an operator. Console.WriteLine("Choose an operator from the following list:"); Console.WriteLine("\ta - Add"); Console.WriteLine("\ts - Subtract"); Console.WriteLine("\tm - Multiply"); Console.WriteLine("\td - Divide"); Console.Write("Your option? "); string op = Console.ReadLine(); try { result = Calculator.DoOperation(cleanNum1, cleanNum2, op); if (double.IsNaN(result)) { Console.WriteLine("This operation will result in a mathematical error.\n"); } else Console.WriteLine("Your result: {0:0.##}\n", result); } catch (Exception e) { Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message); } Console.WriteLine("------------------------\n"); // Wait for the user to respond before closing. Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: "); if (Console.ReadLine() == "n") endApp = true; Console.WriteLine("\n"); // Friendly linespacing. } return; } }
Pilih tombol Kalkulator atau tekan F5 untuk menjalankan aplikasi Anda.
Ikuti perintah dan bagi angka 42 dengan angka 119. Hasil Anda akan terlihat mirip dengan tangkapan layar berikut:
Anda sekarang dapat menjalankan lebih banyak perhitungan hingga Anda memilih untuk menutup aplikasi konsol. Ada juga lebih sedikit tempat desimal dalam hasil. Dan jika Anda memasukkan karakter yang salah, Anda mendapatkan respons kesalahan yang sesuai.
Tutup aplikasi
Jika Anda belum melakukannya, tutup aplikasi Kalkulator.
Tutup panel Output di Visual Studio.
Di Visual Studio, tekan Ctrl+S untuk menyimpan aplikasi Anda.
Menambahkan kontrol sumber Git
Setelah membuat aplikasi, Anda mungkin ingin menambahkannya ke repositori Git. Visual Studio memudahkan proses tersebut dengan alat Git yang dapat Anda gunakan langsung dari IDE.
Tip
Git adalah sistem kontrol versi modern yang paling banyak digunakan, jadi apakah Anda seorang pengembang profesional atau Anda belajar cara membuat kode, Git bisa sangat berguna. Jika Anda baru menggunakan Git, situs web https://git-scm.com/ adalah tempat yang baik untuk memulai. Di sana, Anda dapat menemukan contekan, buku online populer, dan video Git Basics.
Untuk mengaitkan kode Anda dengan Git, mulailah dengan membuat repositori Git baru tempat kode Anda berada:
Di bilah status di sudut kanan bawah Visual Studio, pilih Tambahkan ke Kontrol Sumber, lalu pilih Git.
Dalam kotak dialog Buat repositori Git, masuk ke GitHub.
Nama repositori terisi otomatis berdasarkan lokasi folder Anda. Repositori baru Anda bersifat privat secara default, yang berarti hanya Anda yang dapat mengaksesnya.
Tip
Baik repositori Anda bersifat publik atau privat, yang terbaik adalah memiliki cadangan jarak jauh kode Anda yang disimpan dengan aman di GitHub. Bahkan jika Anda tidak bekerja dengan tim, repositori jarak jauh membuat kode Anda tersedia untuk Anda dari komputer mana pun.
Pilih Buat dan Dorong.
Setelah membuat repositori, Anda akan melihat detail status di bilah status.
Ikon pertama dengan panah menunjukkan berapa banyak penerapan keluar/masuk di cabang Anda saat ini. Anda dapat menggunakan ikon ini untuk menarik penerapan masuk atau mendorong penerapan keluar apa pun. Anda juga dapat memilih untuk melihat penerapan ini terlebih dahulu. Untuk melakukannya, pilih ikon, lalu pilih Tampilkan Keluar/Masuk.
Ikon kedua dengan pensil menunjukkan jumlah perubahan yang tidak dilakukan pada kode Anda. Anda dapat memilih ikon ini untuk melihat perubahan tersebut di jendela Perubahan Git.
Untuk mempelajari selengkapnya tentang cara menggunakan Git dengan aplikasi Anda, lihat dokumentasi kontrol versi Visual Studio.
Ulasan: Kode selesai
Dalam tutorial ini, Anda membuat banyak perubahan pada aplikasi Kalkulator. Aplikasi ini sekarang menangani sumber daya komputasi dengan lebih efisien, dan menangani sebagian besar kesalahan input pengguna.
Berikut adalah kode lengkapnya, semuanya di satu tempat:
class Calculator
{
public static double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.
// Use a switch statement to do the math.
switch (op)
{
case "a":
result = num1 + num2;
break;
case "s":
result = num1 - num2;
break;
case "m":
result = num1 * num2;
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}
class Program
{
static void Main(string[] args)
{
bool endApp = false;
// Display title as the C# console calculator app.
Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");
while (!endApp)
{
// Declare variables and set to empty.
string numInput1 = "";
string numInput2 = "";
double result = 0;
// Ask the user to type the first number.
Console.Write("Type a number, and then press Enter: ");
numInput1 = Console.ReadLine();
double cleanNum1 = 0;
while (!double.TryParse(numInput1, out cleanNum1))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput1 = Console.ReadLine();
}
// Ask the user to type the second number.
Console.Write("Type another number, and then press Enter: ");
numInput2 = Console.ReadLine();
double cleanNum2 = 0;
while (!double.TryParse(numInput2, out cleanNum2))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput2 = Console.ReadLine();
}
// Ask the user to choose an operator.
Console.WriteLine("Choose an operator from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");
string op = Console.ReadLine();
try
{
result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
if (double.IsNaN(result))
{
Console.WriteLine("This operation will result in a mathematical error.\n");
}
else Console.WriteLine("Your result: {0:0.##}\n", result);
}
catch (Exception e)
{
Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
}
Console.WriteLine("------------------------\n");
// Wait for the user to respond before closing.
Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
if (Console.ReadLine() == "n") endApp = true;
Console.WriteLine("\n"); // Friendly linespacing.
}
return;
}
}
Langkah berikutnya
Lanjutkan dengan bagian kedua dari tutorial ini:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk