Sobes.tech
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();