Rumah >pembangunan bahagian belakang >C++ >Mengapa Jenis Data `short int` Tidak Mempunyai Pengubah Huruf dalam C#?
Mengapa Jenis Data Tertentu Kurang Pengubahsuai Tersurat dalam Bahasa Pengaturcaraan
Walaupun bahasa pengaturcaraan seperti C# berusaha untuk ketekalan dan reka bentuk logik, terdapat contoh di mana jenis data tertentu mungkin kekurangan pengubah suai literal. Ini menimbulkan persoalan tentang sebab di sebalik perbezaan tersebut.
Kajian Kes: long int vs. short int dalam C#
Pertimbangkan contoh long int dan short int dalam C# . Yang pertama mempunyai pengubah suai literal ('L' atau 'l'), manakala yang kedua tidak. Ini mendorong pertanyaan: mengapa pemisahan ini?
Mempertahankan Ketiadaan
Hujah standard menyatakan bahawa ciri, seperti pengubah suai literal, diperkenalkan apabila faedahnya melebihi kos. Dalam kes int pendek, tanggungjawab terletak pada penyokong untuk mewajarkan keperluannya berdasarkan kefungsian int yang sedia ada.
Justifikasi untuk Pengubah Huruf dalam int panjang
Sebahagian besar pengiraan integer berada dalam julat integer bertanda 32-bit (int). Oleh itu, C# lalai kepada perwakilan ini untuk operasi aritmetik, menjadikan akhiran '1' untuk literal integer intuitif.
Walau bagaimanapun, apabila pengiraan melangkaui julat ini atau memerlukan corak bit tertentu, pengubahsuai seperti 'L' dan 'U ' mula bermain. Mereka jelas menunjukkan niat untuk menggunakan integer panjang 64-bit atau integer tidak bertanda, masing-masing.
Mengapa Tidak untuk int pendek?
Tidak seperti int panjang, terdapat dua sebab kenapa short int kekurangan literal pengubah suai:
Kesimpulan
Ringkasnya, pengubah suai literal disediakan untuk jenis yang manfaatnya jelas. Untuk int, perwakilan lalai sesuai dengan kebanyakan kes, manakala integer panjang dan integer tidak bertanda menangani keperluan khusus. Short int tidak mempunyai pengubah suai kerana int sudah memenuhi fungsinya dan ia tidak digunakan untuk aritmetik eksplisit dalam bahasa.
Atas ialah kandungan terperinci Mengapa Jenis Data `short int` Tidak Mempunyai Pengubah Huruf dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!