Nilai default jenis C# (referensi C#)

Tabel berikut menunjukkan nilai default jenis C#:

Jenis Nilai default
Setiap jenis referensi null
Setiap jenis numerik integral bawaan 0 (nol)
Setiap jenis numerik titik-mengambang bawaan 0 (nol)
bool false
Char '\0' (U+0000)
enum Nilai yang dihasilkan oleh ekspresi (E)0, yang mana E adalah pengidentifikasi enum.
struktur Nilai yang dihasilkan dengan mengatur semua bidang jenis nilai ke nilai defaultnya dan semua bidang jenis referensi ke null.
Setiap jenis nilai dapat diubah ke null Instans yang propertinya HasValue adalah false dan properti Value tidak ditentukan. Nilai default tersebut juga dikenal sebagai nilai null dari jenis nilai yang dapat diubah ke null.

Ekspresi nilai default

Gunakan default operator untuk menghasilkan nilai default suatu jenis, seperti yang ditunjukkan contoh berikut:

int a = default(int);

Anda dapat menggunakan default literal untuk menginisialisasi variabel dengan nilai default jenisnya:

int a = default;

Konstruktor tanpa parameter dari jenis nilai

Untuk jenis nilai, konstruktor tanpa parameter implisit juga menghasilkan nilai default dari jenis tersebut, seperti yang ditunjukkan contoh berikut:

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

Pada durasi, jika instans System.Type mewakili jenis nilai, Anda dapat menggunakan metode Activator.CreateInstance(Type) untuk memanggil konstruktor tanpa parameter untuk mendapatkan nilai default dari jenis tersebut.

Catatan

Dalam C# 10 dan yang lebih baru, jenis struktur (yang merupakan jenis nilai) mungkin memiliki konstruktor tanpa parameter eksplisit yang dapat menghasilkan jenis nilai non-default. Oleh karena itu, sebaiknya gunakan operator default atau harfiah default untuk menghasilkan nilai default suatu jenis.

Spesifikasi bahasa C#

Untuk informasi selengkapnya, lihat bagian berikut dari spesifikasi bahasa C#:

Lihat juga