Ben endişe etmeyi bırakıp C # 'yu sürekli olarak Python ile karşılaştırmak yerine, C #' yı sevmeye çalışan C # öğrenen bir Python programcısıyım.
Bir noktaya yakalanmıştım: Bu Yığın Taşması sorusunda ayrıntılı olarak açıklandığı gibi, olayların nerede tanımlandığı konusundaki açıklık eksikliği . Kısacası: C # 'da, using foo
hangi isimlerden foo
yararlanıldığını, yani from foo import *
Python'dakine benzer - Python kodlama kültüründe daha açık bir yaklaşımdan ziyade örtülü olmaları için cesaretlendirilmiş bir form olduğunu söylemez from foo import bar
.
Stack Overflow'un bu noktaya C # programcılarından verdiği cevaplar beni çok etkiledi, çünkü pratikte bu açıklık eksikliği gerçekten önemli değil çünkü IDE'nizde (muhtemelen Visual Studio) bir adın üzerine gelebilir ve sizin tarafınızdan söylenebilecek adın geldiği sistem. Örneğin:
Şimdi, teoride bunun bir metin editörüyle baktığınızda, C # 'da türlerin nereden geldiğini söyleyemeyeceğiniz anlamına geldiğini anlıyorum ... ama pratikte bunu bir sorun olarak bulamıyorum. Ne sıklıkla koduna bakıyorsun ve Visual Studio'yu kullanamıyorsun?
Bu bana uygun. Birçok Python programcısı, Sublime Text 2 veya vim gibi bir şey kullanarak kodlama için bir metin düzenleyici yaklaşımını tercih eder, burada kodun tamamı, komut satırı araçları ve klasörlere ve dosyalara doğrudan erişim ve manipülasyon yapılır. Bu kadar temel bir seviyedeki kodu anlamak için bir IDE'ye bağımlı olma fikri bir anathema gibi görünüyor. Bu noktada C # kültürünün kökten farklı olduğu görülüyor. Ve merak ediyorum, bunu C # öğrenimin bir parçası olarak kabul edip kabul etmem gerekiyor mu?
Beni buradaki soruma yönlendiren: C # gelişimi kullandığınız IDE'den ayrılamaz mı?
using MyType = MyNamespace.MyType;
?
global::
ve oradan kendi yolunuzla çalışabilirsiniz. using
daha önce olmayan bir şeyi yapmaz; yalnızca erişimi kolaylaştırır (belirli bir sınıfı kullanmak için daha az yazı yazarken olduğu gibi).