Sobes.tech
Middle

C#-də var və dynamic arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

var yerli dəyişənlərin dolayı tipləşdirilməsi üçün istifadə olunur. Kompilyator tipi tərtib zamanı müəyyən edir.

dynamic, yalnız icra zamanı məlum olan obyektlərlə işləmək üçün istifadə olunur. Tip yoxlaması və metod çağırışları icra zamanı baş verir.

Xüsusiyyət var dynamic
Tip Statik (tərtib) Dinamik (icra)
Tip yoxlaması Tərtib zamanı İcra zamanı
Performans Yüksək (tip müəyyən edilmişdir) Aşağı (icra zamanı analiz tələb oluna bilər)
Məhdudiyyətlər Yalnız yerli dəyişənlər üçün Dəyişənlər, sahələr, xüsusiyyətlər, parametrlər üçün
Tətbiq Rahatlıq, kodun qısaldılması üçün COM, DLR, Reflection ilə qarşılıqlı əlaqə üçün

Var ilə nümunə:

// Kompilyator x-in int olduğunu müəyyən edir
var x = 10;
// Tərtib xətası, çünki x int kimi təyin olunub
// x = "salam";

Dynamic ilə nümunə:

// y-nin tipi icra zamanı müəyyən edilir
dynamic y = 10;
// Tərtib xətası yoxdur, çünki yoxlama icra zamanı baş verir
y = "salam";
// Mövcud olmayan metodu çağırmaq; xəta icra zamanı baş verə bilər
// y.HansıMetod();