天天看點

C# Consle.ReadLine容易忽視的坑

具體Console.ReadLine是幹什麼的不做說明,這個第一天學c#的應該都知道,後半翻譯成人話:當指令行不可用時傳回null。

在實際的測試中,例如windows服務和linux systemd守護程序方式運作程式,如果你的代碼中用了​<code>​Console.ReadLine​</code>​,則此處不會阻塞,而是直接傳回​<code>​null​</code>​,進而可能會導緻預期外的bug。

是以當你使用Console.ReadLine的時候務必要進行非空的判斷。而且如果使用Console.ReadLine進行阻塞線程實作程式不退出時也要注意你的程式是否會在沒有指令行輸入的環境下運作。

繼續閱讀