Rumah >pembangunan bahagian belakang >C++ >Bilakah anda harus -dan tidakkah anda menggunakan `var` untuk kesimpulan jenis dalam C#?
Amalan terbaik menggunakan jenis dalam kesimpulan kata kunci
dalam C# var
C# 3.0 Diperkenalkan
var
var
Penggunaan yang tidak betul
Menggunakan var
akan mengurangkan kebolehbacaan dan penyelenggaraan kod dalam keadaan berikut, meningkatkan kesilapan yang berpotensi:
var
Penggunaan munasabah
<code class="language-csharp">foreach (var item in someList) { // 'item' 的类型不明确 // ... } var something = someObject.SomeProperty; // 'something' 的类型不明确 var something = someMethod(); // 'something' 的类型不明确</code>
Dalam keadaan berikut, menggunakan dapat meningkatkan kebolehbacaan kod tanpa menjejaskan keselamatan jenis: var
var
<code class="language-csharp">var l = new List<string>(); // `l` 的类型一目了然 var s = new SomeClass(); // `s` 的类型一目了然</code>Penggunaan
dalam pertanyaan LINQ lebih halus:
var
Walaupun pengkompil dapat menyimpulkan jenis
var
<code class="language-csharp">var results = from r in dataContext.SomeTable select r; // `results` 的具体类型并非完全清晰</code>
results
menggunakan
var
Ini serupa dengan , dan terdapat bahaya tersembunyi jenis keselamatan. Apabila memanggil kaedah beban berat, mudah untuk lulus dalam jenis jenis yang tidak menatap, mengakibatkan kesilapan runtime.
dan taip keselamatan var
<code class="language-csharp">var results = from item in someList where item != 3 select item;</code>Walaupun mengekalkan jenis C#yang kuat, maklumat jenis tersembunyi boleh menyebabkan masalah, terutamanya apabila kaedah itu dibebankan, pengkompil mungkin tidak dapat mengesan jenis yang tidak sepadan semasa penyusunan.
foreach (var item in someList)
Kesimpulan
Kata kunci dapat meningkatkan kebolehbacaan dan kesederhanaan kod di bawah keadaan yang sesuai, tetapi ia perlu digunakan dengan berhati -hati. Apabila jenis tidak jelas, risiko dapat ditingkatkan, dan penggunaan var
harus dielakkan. Untuk pertanyaan Linq dan Linq kepada objek, kepentingan pembacaan kebolehbacaan dan keselamatan jenis perlu ditimbang. Gunakan untuk menjadikan kod itu lebih jelas dan lebih ringkas, sambil mengekalkan keteguhan dan penyelenggaraan program.
Atas ialah kandungan terperinci Bilakah anda harus -dan tidakkah anda menggunakan `var` untuk kesimpulan jenis dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!