首頁 >後端開發 >C++ >為什麼 C# 中「短」整數沒有文字修飾符?

為什麼 C# 中「短」整數沒有文字修飾符?

DDD
DDD原創
2025-01-04 17:00:43616瀏覽

Why Don't `short` Integers Have Literal Modifiers in C#?

為什麼某些類型缺少文字修飾符

在C# 中,諸如long int 之類的整型具有文字修飾符,而其他型別(如Short int)則沒有。這種區別提出了一個問題:為什麼某些類型具有此功能,而其他類型則沒有。

C# 設計背後的原則是預設不存在功能,必須透過其好處來證明其合理性。對於文字修飾符,它們的好處適用於 long 和無符號類型等類型,因為它們可以精確指定預期的整數大小或符號性。

long 和無符號類型修飾符的理由

絕大多數整數計算涉及 32 位元有符號整數,這些整數由硬體有效處理。 C# 預設採用這種表示形式。然而,對於需要更大範圍的計算,使用長整數,並且修飾符可以清楚地指示此預期大小。

此外,互通場景和位元字段操作需要指定無符號整數。同樣,修飾符提供了一種簡潔的方法來指示預期的符號或缺乏符號。

短整型修飾符缺乏合理性

相反,短整數不需要修飾符,因為:

  • 合法使用: 整數文字總是可以在short 合法的地方使用。
  • Shorts 中不進行算術: 算術在 int、long 或 ulong 類型上執行,但從不在 Short 類型上執行。 Shorts 在算術中提升為 int,使得修飾符變得多餘。

修飾符的好處不會擴展到 Short 類型。由於算術不是在 Shorts 中完成的,而且文字已經可以與 Shorts 一起使用,因此沒有令人信服的理由引入 Short 修飾符。

以上是為什麼 C# 中「短」整數沒有文字修飾符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn