Visual Studio akan secara otomatis membuat pernyataan menggunakan untuk Anda setiap kali Anda membuat halaman atau proyek baru. Beberapa di antaranya tidak akan pernah Anda gunakan.
Visual Studio memiliki fitur yang berguna untuk "menghapus penggunaan yang tidak digunakan".
Saya ingin tahu apakah ada efek negatif pada kinerja program jika pernyataan yang menggunakan yang tidak pernah diakses, tetap disebutkan di bagian atas file.
c#
.net
visual-studio
using
KdgDev
sumber
sumber
Jawaban:
Penggunaan yang tidak digunakan tidak memengaruhi kinerja waktu proses aplikasi Anda.
Ini dapat memengaruhi kinerja IDE dan fase kompilasi keseluruhan. Alasan mengapa itu membuat namespace tambahan di mana resolusi nama harus terjadi. Namun ini cenderung kecil dan tidak akan berdampak nyata pada pengalaman IDE Anda untuk sebagian besar skenario.
Ini juga dapat mempengaruhi kinerja mengevaluasi ekspresi di debugger karena alasan yang sama.
sumber
Tidak, itu hanya gaya kompilasi / waktu pengkodean. Biner .NET menggunakan nama yang sepenuhnya memenuhi syarat di bawah kap.
sumber
Tidak ada efek pada kecepatan eksekusi, tetapi mungkin ada sedikit efek pada kecepatan kompilasi / intellisense karena ada lebih banyak ruang nama potensial untuk mencari kelas yang tepat. Saya tidak akan terlalu khawatir tentang itu, tetapi Anda dapat menggunakan item menu Atur Penggunaan untuk menghapus dan mengurutkan pernyataan penggunaan.
sumber
Tautan berikut Bacaan yang baik tentang mengapa menghapus referensi yang tidak digunakan menjelaskan bagaimana berguna untuk menghapus referensi yang tidak digunakan dari aplikasi.
Berikut adalah beberapa kutipan dari tautan tersebut:
Dengan menghapus referensi yang tidak digunakan dalam aplikasi Anda, Anda mencegah
CLR
pemuatan modul referensi yang tidak digunakan pada waktu proses. Artinya Anda akan mengurangi waktu startup aplikasi Anda, karena membutuhkan waktu untuk memuat setiap modul dan menghindari metadata pemuatan kompilator yang tidak akan pernah digunakan. Anda mungkin menemukan bahwa bergantung pada ukuran setiap pustaka, waktu startup Anda berkurang secara nyata. Ini tidak berarti bahwa aplikasi Anda akan lebih cepat setelah dimuat, tetapi akan sangat berguna untuk mengetahui bahwa waktu startup Anda mungkin berkurang.Manfaat lain dari menghapus referensi yang tidak digunakan adalah Anda akan mengurangi risiko konflik dengan namespace. Misalnya, jika Anda memiliki keduanya
System.Drawing
danSystem.Web.UI.WebControls
mereferensikan, Anda mungkin menemukan bahwa Anda mengalami konflik saat mencoba mereferensikanImage
kelas. Jika Anda telah menggunakan direktif di kelas Anda yang cocok dengan referensi ini, compiler tidak dapat membedakan mana yang akan digunakan. Jika Anda secara teratur menggunakan pelengkapan otomatis saat mengembangkan, menghapus ruang nama yang tidak digunakan akan mengurangi jumlah nilai pelengkapan otomatis di editor teks saat Anda mengetik.sumber
Tidak, ada beberapa proses yang terlibat saat menyusun program. Ketika kompilator mulai mencari referensi (kelas, metode), ia hanya akan menggunakan referensi yang digunakan pada kode. Direktif menggunakan hanya memberi tahu kompiler ke mana harus mencari. Banyak pernyataan using yang tidak terpakai mungkin memiliki masalah kinerja tetapi hanya pada waktu kompilasi. Saat runtime, semua kode luar ditautkan dengan benar atau disertakan sebagai bagian dari biner.
sumber
Kode yang tidak dijalankan tidak mempengaruhi kinerja program.
sumber