Latihan - Melakukan penambahan dengan konversi data implisit

Selesai

Seringkali, Anda ingin melakukan operasi matematika pada data numerik. Anda akan mulai dengan penambahan di unit ini, dan memperluas ke operasi lain di unit berikutnya karena ada pelajaran penting untuk mempelajari tentang bagaimana pengompilasi C# mengurai dan menafsirkan kode Anda.

Menambahkan dua nilai numerik

Untuk menambahkan dua angka bersama-sama, Anda akan menggunakan operator tambahan, yang merupakan simbol +plus . Ya, simbol plus yang sama + yang Anda gunakan untuk perangkaian string juga digunakan untuk penjumlahan. Penggunaan kembali satu simbol untuk berbagai tujuan terkadang disebut "membebani operator" dan sering terjadi di C#.

Dalam contoh ini, pengompilasi C# memahami apa yang Anda coba lakukan. Pengompilasi mengurai kode Anda dan melihat bahwa + (operator) dikelilingi oleh dua nilai numerik (operand). Mengingat tipe data variabel (keduanya adalah int), pengompilasi memahami bahwa Anda bermaksud menambahkan kedua nilai tersebut.

  1. Masukkan kode berikut ke dalam Editor .NET:

    int firstNumber = 12;
    int secondNumber = 7;
    Console.WriteLine(firstNumber + secondNumber);
    
  2. Jalankan kode dan Anda akan melihat hasil berikut di konsol output:

    19
    

Mencampur jenis data untuk memaksa konversi jenis implisit

Apa yang terjadi jika Anda mencoba menggunakan + simbol dengan nilai dan int keduanyastring?

  1. Ubah kode yang Anda tulis agar sesuai dengan kode berikut:

    string firstName = "Bob";
    int widgetsSold = 7;
    Console.WriteLine(firstName + " sold " + widgetsSold + " widgets.");
    
  2. Jalankan kode dan Anda akan melihat hasil berikut di konsol output:

    Bob sold 7 widgets.
    

Dalam hal ini, pengkompilasi C# memahami bahwa Anda ingin menggunakan + simbol untuk menggabungkan dua operan. Pengompilasi C# menyimpulkan hal ini karena simbol + dikelilingi oleh operand tipe data string dan int. Jadi, pengompilasi C# mencoba untuk secara implisit mengonversi variabel intwidgetsSold menjadi string untuk sementara sehingga pengompilasi C# dapat menggabungkannya ke string lainnya. Pengompilasi C# mencoba membantu jika Anda membutuhkan bantuan, tetapi idealnya, Anda akan menunjukkan niat Anda secara eksplisit.

Mencoba kasus yang lebih canggih untuk menambahkan angka dan menggabungkan string

  1. Ubah kode yang Anda tulis agar sesuai dengan kode berikut:

    string firstName = "Bob";
    int widgetsSold = 7;
    Console.WriteLine(firstName + " sold " + widgetsSold + 7 + " widgets.");
    
  2. Jalankan kode dan Anda akan melihat hasil berikut di konsol output:

    Bob sold 77 widgets.
    

Daripada menambahkan variabel intwidgetsSold ke int7 harfiah, pengompilasi memperlakukan semuanya sebagai string dan menggabungkan semuanya.

Tambahkan tanda kurung untuk mengklarifikasi niat Anda ke pengkompilasi

  1. Ubah kode yang Anda tulis agar sesuai dengan kode berikut:

    string firstName = "Bob";
    int widgetsSold = 7;
    Console.WriteLine(firstName + " sold " + (widgetsSold + 7) + " widgets.");
    
  2. Jalankan kode dan Anda akan melihat hasil berikut di konsol output:

    Bob sold 14 widgets.
    

Simbol tanda kurung () menjadi operator yang kelebihan beban lainnya. Dalam kasus ini, tanda kurung buka dan tutup membentuk operator urutan operasi, seperti yang mungkin Anda gunakan dalam rumus matematika. Anda menunjukkan bahwa Anda ingin tanda kurung paling dalam diselesaikan terlebih dahulu menghasilkan penambahan int nilai widgetsSold dan nilai 7. Setelah diselesaikan, maka tanda kurung terdalam akan secara implisit mengonversi hasilnya menjadi string sehingga dapat digabungkan dengan sisa pesan.

Catatan

Anda mungkin harus menghindari melakukan perhitungan dan perangkaian dalam satu baris kode. Tujuan di sini adalah untuk membantu Anda memahami cara melihat operator dan operand seperti yang dilakukan oleh pengompilasi.

Rekap

Inilah yang telah Anda pelajari sejauh ini tentang operasi matematika di C#:

  • Anda dapat melakukan operasi penjumlahan seperti matematika pada angka.
  • Perangkaian dan penjumlahan string menggunakan simbol plus +. Hal ini disebut membebani operator, dan pengompilasi menyimpulkan penggunaan yang tepat berdasarkan tipe data yang dioperasikan.
  • Jika memungkinkan, pengompilasi C# secara implisit akan mengonversi int menjadi string jika jelas bahwa pengembang mencoba menggabungkan representasi string dari angka untuk tujuan presentasi.
  • Gunakan tanda kurung untuk menentukan urutan operasi untuk secara eksplisit memberi tahu pengkompilasi bahwa Anda ingin melakukan operasi tertentu sebelum operasi lain.