Nullable Types (int?) C# da
C# da int
, double
, bool
kabi value type lar null bo‘la olmaydi.
Ammo dasturchilar ko‘p hollarda null
qiymat bilan ishlashadi:
- Database dan qiymat kelmasligi mumkin
- Foydalanuvchi son kiritmasligi mumkin
- Optional field lar bo‘lishi mumkin
Shunday paytda nullable types ishlatiladi.
Nullable Type qanday yoziladi?
Tip nomidan keyin ?
qo‘yiladi:
int? age = null; // null qabul qiladi
age = 25; // keyinchalik qiymat berish mumkin
Asosiy foydalanish usullari
- HasValue va Value
int? salary = 5000;
if (salary.HasValue)
Console.WriteLine($"Ish haqi: {salary.Value}");
else
Console.WriteLine("Ish haqi belgilanmagan");
- Null-coalescing (??)
int? bonus = null;
int finalBonus = bonus ?? 1000; // agar null bo‘lsa, 1000 olinadi
Console.WriteLine(finalBonus); // 1000
- Real hayotiy misol
class Employee
{
public string Name { get; set; }
public int? Age { get; set; } // Yoshi majburiy emas
}
var emp = new Employee { Name = "Ketmonbek" };
Console.WriteLine(emp.Age ?? 0); // Agar null bo‘lsa, 0 chiqadi
Xulosa
Oddiy value types null bo‘la olmaydi
int?, double?, bool? kabi nullable types qiymat + null saqlaydi
Asosan bazadan keladigan null qiymatlar yoki majburiy bo‘lmagan field lar uchun ishlatiladi
Top comments (0)