[TroubleShooting][C#] 為啥我的C# console程式會發出聲音?

[TroubleShooting][C#] 為啥我的C# console程式會發出聲音?

事情是這樣的,有個同事IM我,說他給客戶有兩種語言寫的程式,分別是VB跟C#。然後客戶執行VB程式沒有問題,但是在執行C#程式時,都會發生聲響。功能上沒有問題,但是客戶想要拿掉這個聲音。

基於好奇心作祟,我開了一下Visual Studio,然後順手寫了一個如下的Console程式:

 

Console.Read();

 

當然執行時沒有任何的聲響,也排除了農曆七月的可能性。我叫他search看看程式裡面有沒有Beep哥? 當然也是找不到。

再跟他要了他的程式碼,一執行果然會發出聲音:

 

 Console.Read();

 

image

 

我們可以看到視窗上好像怪怪的,好像有個字元被吃掉了,這個解法很簡單,就是去增加跳脫字元,改成如下:

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發問喔。