Middle
C#'ta var ve dynamic arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
var, yerel değişkenlerin örtük tiplenmesi için kullanılır. Derleyici tipi derleme aşamasında belirler.
dynamic, yalnızca çalışma zamanında bilinen nesnelerle çalışmak için kullanılır. Tip kontrolü ve metod çağrıları çalışma zamanında gerçekleşir.
| Özellik | var | dynamic |
|---|---|---|
| Tiplenme | Statik (derleme) | Dinamik (çalışma) |
| Tip kontrolü | Derleme sırasında | Çalışma sırasında |
| Performans | Yüksek (tip belirlenmiş) | Daha düşük (çalışma sırasında analiz gerekebilir) |
| Kısıtlamalar | Sadece yerel değişkenler için | Değişkenler, alanlar, özellikler, parametreler için |
| Uygulama | Kullanışlılık, kodu kısaltma | COM, DLR, Reflection ile etkileşim |
Var ile örnek:
// Derleyici, x'in int olduğunu belirler
var x = 10;
// Derleme hatası, çünkü x int olarak tanımlanmıştır
// x = "merhaba";
Dynamic ile örnek:
// y'nin tipi çalışma zamanında belirlenir
dynamic y = 10;
// Derleme hatası yoktur, çünkü kontrol çalışma zamanında yapılır
y = "merhaba";
// Var olmayan bir metodu çağırmak; hata çalışma zamanında olabilir
// y.BirMetod();