MSDN'den :
Ancak, var kullanımı en azından kodunuzu diğer geliştiriciler için anlaşılmasını zorlaştırma potansiyeline sahiptir. Bu nedenle, C # belgeleri genellikle yalnızca gerektiğinde var kullanır.
Gerçekten, gerçekten örtük yazmayı sevmiyorum. Yüzeyde kodu daha okunaklı hale getirme eğilimindedir, ancak yol boyunca birçok soruna yol açabilir. Bir dev değişken başlatıcıyı değiştirirse, örneğin
var myFloat=100f;
için
var myFloat=100;
veya
var myFloat=100.0;
Tür değişecek ve tüm derleyici hataları ile sonuçlanacak ya da bir web görünümündeyseniz ve görünümlerinizi önceden derlemek için post-build adımını kullanmıyorsanız, etkili bir şekilde yakalanmayacak bir dizi çalışma zamanı hatası dağıtım öncesi sınama.
Kapalı yazma da her yerde çalışmaz (aynı MSDN bağlantısından)
var, yalnızca aynı değişkende yerel bir değişken bildirildiğinde ve ilklendirildiğinde kullanılabilir; değişken null değerine, bir yöntem grubuna veya adsız bir işleve başlatılamıyor.
sınıf kapsamındaki alanlarda var kullanılamaz.
Var kullanılarak bildirilen değişkenler, başlatma ifadesinde kullanılamaz. Başka bir deyişle, bu ifade yasaldır: int i = (i = 20); ancak bu ifade derleme zamanı hatası veriyor: var i = (i = 20);
Birden çok örtülü olarak yazılan değişkenler aynı ifadede başlatılamaz.
Var adlı bir tür kapsam dahilindeyse, var anahtar sözcüğü bu tür adına çözümlenir ve dolaylı olarak yazılmış yerel değişken bildiriminin bir parçası olarak değerlendirilmez.
Kodunuzu tutarlı tutmak (bu durumda, her yerde açık yazarak kullanmak) çok, çok iyi bir şeydir. Benim düşünceme göre var
, tembel ve gerçek bir fayda sağlamaz ve zaten karmaşık bir süreçte başka bir potansiyel başarısızlık noktası sunar.
2017 Güncellemesi
Fikrimi tamamen değiştirdim. C # ile çalışırken var
çoğu zaman kullanıyorum (arayüz tipi değişkenler ve benzeri şeyler hariç). Okunabilirliği artıran kısa kodu tutar. Yine de, - çözülen türün gerçekte ne olduğuna dikkat edin.