Mengapa Visual Studio Menambah Anotasi Nullable pada Tatasusunan Baharu?
Dalam C#, memulakan tatasusunan dengan yang baru biasanya mengembalikan taip yang tidak boleh dibatalkan nilai. Walau bagaimanapun, selepas menggunakan pembetulan pantas dalam Visual Studio (VS) untuk menggantikan var dengan jenis eksplisit, perisytiharan tatasusunan mungkin mengandungi anotasi boleh batal (?):
TVal[]? zeroBased = new TVal[size];
Anotasi ini, ditambah oleh VS, membayangkan bahawa tatasusunan berpotensi menjadi nol.
Jenis Boleh Nullable dalam C# dan VS
Jenis nullable ialah jenis rujukan yang diperkenalkan dalam C# 8.0 untuk membenarkan pembolehubah mewakili kedua-dua nilai yang tidak boleh dibatalkan dan nilai nol. Apabila Nullable didayakan dalam projek atau #nullable pragma digunakan, VS boleh membuat kesimpulan jenis rujukan nullable untuk pembolehubah jenis rujukan yang diisytiharkan dengan var. Inferens ini terpakai walaupun pada tatasusunan, yang merupakan jenis rujukan.
Sebab Anotasi Boleh Null
Anotasi boleh batal dalam pengisytiharan tatasusunan adalah hasil tafsiran kod VS . Mengikut spesifikasi C#, var menyimpulkan jenis rujukan yang boleh dibatalkan untuk jenis rujukan apabila konteks boleh dibatalkan didayakan. Ini bertujuan untuk mengelakkan potensi penugasan nol kepada pembolehubah, yang kurang jelas apabila menggunakan var.
Impak dan Penggunaan
Dalam kebanyakan kes, anotasi boleh null pada yang baru tatasusunan yang dibuat tidak diperlukan. Tatasusunan yang dimulakan dengan baharu dijamin bukan nol. Walau bagaimanapun, jika anda berhasrat untuk memberikan null kepada tatasusunan kemudian dalam kod anda, anda mungkin mahu menyimpan anotasi boleh nullable untuk mengelakkan ralat penyusunan.
Kesimpulan
Sementara itu mungkin kelihatan berlebihan untuk mempunyai anotasi nullable pada tatasusunan yang baru dibuat, ini adalah akibat daripada VS yang menyimpulkan jenis nullable untuk var in konteks yang boleh dibatalkan. Perlu diingat bahawa anotasi ini adalah pilihan apabila membuat tatasusunan dengan yang baharu. Walau bagaimanapun, jika anda berhasrat untuk menetapkan null pada tatasusunan kemudiannya, ia mungkin berfaedah untuk mengekalkan anotasi untuk memastikan keselamatan jenis.
Atas ialah kandungan terperinci Mengapa Visual Studio Menambah Anotasi Nullable pada Tatasusunan Yang Baru Dicipta dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!