[TroubleShooting][C#] 為啥我的C# console程式會發出聲音?
事情是這樣的,有個同事IM我,說他給客戶有兩種語言寫的程式,分別是VB跟C#。然後客戶執行VB程式沒有問題,但是在執行C#程式時,都會發生聲響。功能上沒有問題,但是客戶想要拿掉這個聲音。
基於好奇心作祟,我開了一下Visual Studio,然後順手寫了一個如下的Console程式:
Console.Read();
當然執行時沒有任何的聲響,也排除了農曆七月的可能性。我叫他search看看程式裡面有沒有Beep哥? 當然也是找不到。
再跟他要了他的程式碼,一執行果然會發出聲音:
Console.Read();
我們可以看到視窗上好像怪怪的,好像有個字元被吃掉了,這個解法很簡單,就是去增加跳脫字元,改成如下:
Console.Read();
或是
Console.Read();
至於聲音的由來,就是因為字串中\a被解析成: 可以參考: http://msdn.microsoft.com/en-us/library/aa691087(v=vs.71).aspx
Escape sequence
|
Character name | Unicode encoding |
\a | Alert | 0x0007 |
改完程式後,順便虧了一下,叫他注意一下嬰靈…XD
如果您有微軟技術開發的問題,可以到MSDN Forum發問。
如果您有微軟IT管理的問題,可以到TechNet Forum發問喔。