這個問題得從C++的命名說起。
C++之父斯特勞斯特魯普在C語言的基礎上做了增強,創造出了一種增強型C語言。斯特勞斯特魯普認為這種增強型C語言是C語言的自然演進,於是依照C語言的語法規則,將其最終命名為 C++。
「++」是C語言中的運算子,表示「(變量)+1」。可以說C++的命名,是對「C++語言是對C語言的增強和演進」這一特點的優雅詮釋。
於是我們遵照音從作者的原則,應當認為「C++」是一條C語言的語句,應該按照讀這條C語言語句的習慣讀法去讀它,所以 C++的英語讀作 C Plus Plus,漢語讀作 C加加 。
而C♯ ,同樣依照音從作者的原則,應當英語讀作 C Sharp, 漢語讀作 C升。
這是因為嚴格來說不存在「C#」,只存在「C♯」。
♯ 並非井號#,而是五線譜裏的升號,表示升半個音,英語讀作 Sharp,漢語讀作升。
C♯ 是音樂裏的一個音名,在音樂中「C♯」表示C升半音,所以應當英語讀作 C Sharp ,漢語讀作 C升(或升C)。
顯然,「C井」對應的英文是「C Well」,「C#」對應的英文是「C Hash」,這些都不符合作者的原意, C Sharp 才是符合 C♯ 推出者微軟公司原意的讀法之一 。
為什麽說「之一」呢?這是因為,C♯ 語言是一種由C和C++衍生出來的程式語言,微軟在推出時將其命名為C♯ 包含了兩種考慮:
從第二點可以得知, C♯ 實際上就是 「C++」++ 。
我們從嚴謹的語言學角度出發,遵照音從作者的原則, 應當認為 C♯ 除了像按照音節讀法讀作 C Sharp(C升) 以外,還可以讀作 C Plus Plus Plus Plus ——漢語自然是讀作 C加加加加了。