Middle
C# da var va dynamic o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
var mahalliy o'zgaruvchilarni noaniq turda tiplash uchun ishlatiladi. Kompilyator turini kompilyatsiya bosqichida aniqlaydi.
dynamic faqat bajarilish vaqtida ma'lum bo'lgan ob'ektlar bilan ishlash uchun ishlatiladi. Tur tekshiruvi va metod chaqiruvlar bajarilish vaqtida amalga oshiriladi.
| Xususiyat | var | dynamic |
|---|---|---|
| Turini aniqlash | Statik (kompilyatsiya) | Dinamik (bajarilish) |
| Tur tekshiruvi | Kompilyatsiya vaqtida | Bajarilish vaqtida |
| Ishlash tezligi | Yuqori (tur belgilangan) | Pastroq (bajarilish vaqtida tahlil talab qilinadi) |
| Cheklovlar | Faqat lokal o'zgaruvchilar uchun | O'zgaruvchilar, maydonlar, xususiyatlar, parametrlar uchun |
| Qo'llanilishi | Quvvatli, kodni qisqartirish uchun | COM, DLR, Reflection bilan hamkorlik qilish uchun |
Var bilan misol:
// Kompilyator x ning int turida ekanligini aniqlaydi
var x = 10;
// Kompilyatsiya xatosi, chunki x int sifatida belgilangan
// x = "salom";
Dynamic bilan misol:
// y ning turi bajarilish vaqtida aniqlanadi
dynamic y = 10;
// Kompilyatsiya xatosi yo'q, chunki tekshirish bajarilish vaqtida amalga oshiriladi
y = "salom";
// Mavjud bo'lmagan metodni chaqirish; xato bajarilish vaqtida yuzaga kelishi mumkin
// y.BoshqaMetod();