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