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();