井號,升號,別再傻傻分不清。
在我們的鍵盤的主鍵盤的數字鍵3上方有一個“#”的符號,學過電腦的人都知道按下鍵盤上的Shift鍵(上檔鍵)不鬆手,再按3,就可以輸入這個符號,我們習慣上把這個符號叫做“井號”,因為外觀上很像漢字中的“井"字。在中文中,此符號正規應該叫做編號,或者序號,英文叫做Number Sign或者Pound Sign(美式英語),讀作Pound,ASCII編碼為35,可以用鍵盤非常方便的輸入,Unicode編碼為U+0023,國標碼中也一直有此符號。在我們平時生活中井號經常用來表示編號,比如描述我們的樓房的單元號,比如“#3”表示三單元,而在程式設計中,井號有很多不同的用途,有時表示註釋,有時用來表示十六進位制,有時用來表示日期,在網際網路社交媒體中,經常用來標識主題。
接下來我們再來說一下“#”號的兄弟,就是這個符號“♯” ,什麼?這不就是“#”號嗎,睜大眼睛好好瞧瞧,“#”和“♯”完全是兩個不同的符號,前者橫線是水平的豎線是傾斜的,後者豎線是豎直的而橫線是傾斜的。“♯”字元的名稱是升號,英文名稱 Sharp Sign,學過音樂的同學恍然大悟了,這就是五線譜或者簡譜當中用來升高半音的符號,此符號又稱升記號、升音符,是在樂譜中,放在音符前面的變音記號,代表這個音符的音高要比標定的高半音,讀作“升某音”。有的音樂老師也管這個符號俗稱井號,英文中升號讀作Sharp。
在Unicode編碼中,升號“♯”編碼為U+266F,ASCII碼,GB2312編碼,GBK編碼中都沒有這個符號,所以用鍵盤無法直接輸入,至今我還沒有找到用鍵盤輸入法快速輸入♯的方法,只能用滑鼠選擇輸入,在微軟拼音輸入法中需要進入表情及符號面板(Ctrl+Shift+B)選擇輸入。

學過程式設計的同學經常疑惑為什麼程式設計老師把C#語言讀作C Sharp 而不是讀作C pound,我們來一點點解釋,早期微軟在給C#語言命名時其實就是“C♯”,請看維基百科中C#語言詞條的官方圖片

在音樂中“C♯”表示C升半音,為比C高半音的音階,且“♯”形似4個加號,微軟藉助這樣的命名,寓意此語言在一些語言特性方面對比C++語言有很大的提升。也巧妙的避開了和Java語言的糾纏,由於顯示器(標準字型、瀏覽器等)的技術限制,且大部分的鍵盤佈局上不存在升記號(♯),所以井號(#)被用於此程式語言的名稱中,約定在ECMA-334 C#語言規範中。BTW,其實C#語言和C++語言沒有半毛錢關係,除了語法外觀上有些相似外。所以在學習順序上沒有任何的先後關係,你完全可以直接學習C#語言,而不用前期學習C語言或者C++語言。我上大學的時候,宿舍裡的老二和老八長得非常相像,外宿舍的人經常把他倆搞混,我們戲稱他倆為異父異母的孿生兄弟,C#語言和C++語言就是這樣的關係。
在實際使用中由於♯太不便於輸入了,於是人們為了方便經常用#號代替♯號,C♯語言也就變成了C#語言,但讀法繼承了下來,人們普遍讀作C Sharp,當然,你也可以把他讀作“西井”,除了顯得很陋,外國人聽不懂外,沒有什麼大礙。在你搜索關於C#語言的外文資源時,有些網站會忽略掉這個井號,而只能搜到關於字母“C”的資源,此時你只要搜尋 “C Sharp” 就沒有問題了。

最後放張微軟大牛C#語言首席架構師安德斯·海爾斯伯格(Anders Hejlsberg)的照片,又是伯格字輩兒的,又是優太人。58歲了竟然還有頭髮。