Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Menguasai Konversi Tipe C#: Implisit, Eksplisit, Parse, dan Metode Convert

Menguasai Konversi Tipe C#

Pelajari cara mengonversi antar tipe data dalam C#—dari cast implisit dan eksplisit hingga API Parse dan Convert yang canggih—dengan contoh yang jelas dan panduan praktik terbaik.

Konversi tipe—mengubah nilai dari satu tipe data ke tipe lain—adalah keterampilan inti dalam C#. Memahami kapan dan cara menggunakan setiap metode konversi memastikan kode Anda aman dan efisien.

Dalam C#, konversi terbagi menjadi dua kategori luas:

  1. Konversi Tipe Implisit
  2. Konversi Tipe Eksplisit (casting)

1. Konversi Tipe Implisit dalam C#

Konversi implisit dilakukan secara otomatis oleh kompiler ketika tidak ada kehilangan data yang dapat terjadi. Konversi ini aman dan tidak membebani sintaks.

Skenario umum melibatkan konversi tipe numerik yang lebih kecil ke tipe yang lebih besar—misalnya, int ke double—sehingga nilai dapat direpresentasikan tanpa pemotongan.

Contoh: Konversi Tipe Implisit

using System; namespace MyApplication { class Program { static void Main(string[] args) { int numInt = 500; // Konversi implisit double numDouble = numInt; Console.WriteLine($"nilai numInt: {numInt}"); Console.WriteLine($"Tipe numInt: {numInt.GetType()}"); Console.WriteLine($"nilai numDouble: {numDouble}"); Console.WriteLine($"Tipe numDouble: {numDouble.GetType()}"); Console.ReadLine(); } } }

Output

nilai numInt: 500 Tipe numInt: System.Int32 nilai numDouble: 500 Tipe numDouble: System.Double

Karena double memiliki kapasitas yang lebih besar, kompiler dengan aman mempromosikan nilai int tanpa risiko overflow.

Catatan: Konversi implisit tidak pernah kehilangan data, tetapi meningkatkan ukuran tipe yang dihasilkan.


2. Konversi Tipe Eksplisit (Casting) dalam C#

Konversi eksplisit, atau cast, digunakan saat mengonversi dari tipe yang lebih besar ke tipe yang lebih kecil atau antar tipe yang tidak terkait. Pengembang harus menunjukkan niat, dan kompilonya mungkin memberikan peringatan jika konversi dapat membuang data.

Contoh: Konversi Tipe Eksplisit

using System; namespace MyApplication { class Program { static void Main(string[] args) { double numDouble = 1.23; int numInt = (int)numDouble; // Cast eksplisit Console.WriteLine($"Nilai double asli: {numDouble}"); Console.WriteLine($"Nilai int yang dikonversi: {numInt}"); Console.ReadLine(); } } }

Output

Nilai double asli: 1.23 Nilai int yang dikonversi: 1

Cast memotong bagian pecahan, sehingga 1.23 menjadi 1. Jika presisi penting, pertimbangkan untuk menggunakan metode pembulatan sebelum casting.

Catatan: Casting juga disebut type casting.


3. Mengonversi String dengan Parse()

Saat mengonversi dari string ke tipe numerik, int.Parse, double.Parse, dll., memberikan pendekatan yang sederhana dan aman jenis.

Contoh: Menggunakan int.Parse

using System; namespace Conversion { class Program { static void Main(string[] args) { string n = "100"; int a = int.Parse(n); Console.WriteLine($"Nilai string asli: {n}"); Console.WriteLine($"Nilai int yang dikonversi: {a}"); Console.ReadLine(); } } }

Output

Nilai string asli: 100 Nilai int yang dikonversi: 100

Mencoba untuk memparsing string non-numerik, seperti "test", akan melempar FormatException. Dalam kode produksi, bungkus panggilan dalam try-catch atau gunakan int.TryParse untuk menangani kesalahan dengan anggun.


4. Kelas Convert

Kelas statis Convert menawarkan sekelompok metode luas untuk mengonversi antar banyak tipe data, seringkali melakukan pemeriksaan yang diperlukan secara internal.

MetodeDeskripsi
ToBoolean()Mengonversi nilai menjadi bool
ToChar()Mengonversi nilai menjadi char
ToDouble()Mengonversi nilai menjadi double
ToInt16()Mengonversi nilai menjadi int 16-bit
ToString()Mengonversi nilai menjadi string

Di bawah ini adalah contoh ilustratif yang mencakup konversi umum.

Contoh: int → string dan double

using System; namespace Conversion { class Program { static void Main(string[] args) { int num = 100; Console.WriteLine($"nilai int: {num}"); string str = Convert.ToString(num); Console.WriteLine($"nilai string: {str}"); double dbl = Convert.ToDouble(num); Console.WriteLine($"Nilai Double: {dbl}"); Console.ReadLine(); } } }

Output

nilai int: 100 nilai string: 100 Nilai Double: 100

Contoh: string ↔ double

using System; namespace Conversion { class Program { static void Main(string[] args) { string str = "99.99"; Console.WriteLine($"Nilai string asli: {str}"); double dbl = Convert.ToDouble(str); Console.WriteLine($"Nilai Double yang dikonversi: {dbl}"); double num = 88.9; Console.WriteLine($"Nilai double asli: {num}"); string newStr = Convert.ToString(num); Console.WriteLine($"Nilai string yang dikonversi: {newStr}"); Console.ReadLine(); } } }

Output

Nilai string asli: 99.99 Nilai Double yang dikonversi: 99.99 Nilai double asli: 88.9 Nilai string yang dikonversi: 88.9

Contoh: int → bool

using System; namespace Conversion { class Program { static void Main(string[] args) { int num1 = 0; int num2 = 1; bool bool1 = Convert.ToBoolean(num1); bool bool2 = Convert.ToBoolean(num2); Console.WriteLine($"Nilai Boolean dari 0 adalah: {bool1}"); Console.WriteLine($"Nilai Boolean dari 1 adalah: {bool2}"); Console.ReadLine(); } } }

Output

Nilai Boolean dari 0 adalah: False Nilai Boolean dari 1 adalah: True

Catatan: Dalam C#, 0 ditafsirkan sebagai false; bilangan bulat non-nol mengevaluasi menjadi true.


Dengan menguasai teknik konversi ini, Anda dapat menulis kode yang aman jenis dan ekspresif, mengurangi kesalahan runtime dan meningkatkan keterbacaan.

Bahasa C

  1. Menguasai Konversi & Casting Tipe Python: Panduan Komprehensif
  2. Menguasai Angka, Konversi Tipe, dan Matematika di Python
  3. Menguasai Type Casting Java: Dari Widening hingga Narrowing dan Lebih Lanjut
  4. Menguasai Generik Java: Sederhanakan Pengurutan dan Tingkatkan Keamanan Tipe
  5. Spesifikasi Baja Karbon Rendah ASTM A1018 Grade CS Type B
  6. Spesifikasi dan Performa Baja ASTM A424 Grade Type II
  7. Properti dan Performa Utama Baja ASTM A424 Grade Type I
  8. ASTM A792 Grade CS Type A – Properti & Spesifikasi Detail
  9. ASTM A53 Grade A Tipe E – Spesifikasi & Sifat Utama
  10. ASTM A53 Grade A Tipe S Pipa – Spesifikasi & Sifat Utama