Darsliklar C# O'zgaruvchilar

C# C# O'zgaruvchilar

O’zgaruvchilar — dasturlashning eng bazaviy tushunchasi. Har qanday ma’lumot — foydalanuvchi ismi, mahsulot narxi, hisob natijasi — o’zgaruvchida saqlanadi. C#’da o’zgaruvchi turi majburiy e’lon qilinadi; bu tilning qat’iyligi va ishonchliligining sababi.

O’zgaruvchixotiraning nomlangan, ma’lum turdagi qiymatni saqlaydigan qismi. C#’da har bir o’zgaruvchining turi oldindan aniqlanadi.

O’zgaruvchi e’lon qilish

C#’da o’zgaruvchi tur nom = qiymat; shaklida e’lon qilinadi:

using System;

int yosh = 26;
double narx = 15000.50;
string ism = "Master Sherkulov";

Console.WriteLine($"{ism}, {yosh} yosh");
Console.WriteLine($"Narx: {narx}");
Master Sherkulov, 26 yosh
Narx: 15000,5

Turni oldin yozish shart: int yosh — butun son, string ism — matn. E’tibor bering: ba’zi mintaqaviy sozlamalarda kasr ajratgich vergul bo’lishi mumkin (15000,5).

E’lon va qiymat berishni ajratish

O’zgaruvchini avval e’lon qilib, keyin qiymat berish mumkin:

using System;

int son;         // e'lon qilindi
son = 42;        // qiymat berildi
son = 100;       // qiymat o'zgartirildi
Console.WriteLine(son);
100

Diqqat: C#’da qiymat berilmagan mahalliy o’zgaruvchini ishlatib bo’lmaydi — kompilyator xato beradi. Bu himoya “axlat” qiymatlardan saqlaydi.

var bilan qisqartirish

var kalit so’zi turni qiymatdan avtomatik aniqlaydi, biroq tur baribir qat’iy saqlanadi:

using System;

var ism = "Farrux";   // string
var yosh = 26;        // int
Console.WriteLine($"{ism}: {yosh}");
Farrux: 26

var kodni qisqartiradi, ammo ism doim string bo’lib qoladi. Bu Python’ning dinamik turidan farq qiladi.

Turlar farqidan kelib chiqadigan natija

Turni chalkashtirish C#’da xatolarga olib keladi. Masalan, butun sonlar bo’lishida kasr qismi yo’qoladi:

using System;

int butun = 7 / 2;          // butun bo'lish
double kasr = 7.0 / 2;      // kasr bo'lish
Console.WriteLine($"butun: {butun}");
Console.WriteLine($"kasr: {kasr}");
butun: 3
kasr: 3,5

7 / 2 — ikkala son ham int bo’lgani uchun natija butun (3); 7.0 / 2 da esa double ishtirok etgani uchun aniq kasr chiqdi. Bu nozik farqni yodda tuting.

Xulosa

Bu bo’limda C#’da o’zgaruvchi e’lon qilish, turlarni belgilash, var bilan avtomatik aniqlash va tur farqidan kelib chiqadigan natijalarni ko’rib chiqdik. C#’da tur — qat’iy shartnoma. Keyingi darsda o’zgarmaslar — const ga o’tamiz.