Dediğiniz gibi uzun uzun namespace adını yazmaktan bizi kurtarıyor.
Alıntı yapılan: mir_as82 - 05 Kasım 2017, 06:17:53
Peki projemde sadece System.Text.Endoding içindeki bir sınıfı kullanırsam, tüm System altındaki sınıflar mı çalışma anında .exe dosyama dahil edilir?yoksa sadece System.Text.Endoding altında kullandığım sınıf mı ?
using direktifi, C dilindeki #include gibidir. Başka dosya ve kütüphaneleri eklemek için kullanılır. Bu sorunuza gelirsek, System.Text.Encoding'i ekler, System altında bulunan bütün kütüphaneleri eklemez. Siz,
using System;
ile System altında bulunan kütüphaneleri ekleseniz bile, program içerisinde Encoding.Text... şeklinde çağırırsınız. Bu durumda derleyici nihai çıktıyı oluştururken System.Text.Encoding'i ekleyerek oluşturacaktır. System'i kullanarak değil. Derleyeciler artık birçok şeyi sizin adınıza halleder aslında. Kullanılmayan değişkenler, dosyalar vs. nihai çıktıya eklenmez.
Son olarak, hangisini kullandığınızda farketmez. Sonuç olarak bunlar .NET kütüphanesine aittir ve .NET kurulu her bilgisayarda bulunur. Yani
using System; de kullansanız
using System.Text.Encoding; de kullansanız
dosya boyutunuza etkisi olmaz. Siz sadece işaret etmiş oluyorsunuz, dosyalar zaten bilgisayarda bulunuyor. O zaman neden
using System;
kullanmıyorum şeklinde bir soru aklınıza gelecektir. Text.Encoding sınıfından her fonksiyon çağırdığınızda Text.Encoding yazmaktan kurtulmak için.