我有一些代碼來保存文件一樣C#:我是否驗證文件類型和正確使用goto?
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Text files|*.txt";
SaveDialog:
if ((bool)dialog.ShowDialog()) {
if (System.IO.Path.GetExtension(dialog.FileName) != ".txt") {
MessageBox.Show("You must select a .txt file");
dialog.FileName = "";
goto SaveDialog;
}
File.WriteAllText(dialog.FileName, txtEditor.Text);
}
我讀,我不應該使用goto。我可以使用do/while並檢查是否選擇了有效的擴展名,但會添加大量不必要的代碼。我覺得這個整潔。還是有更好/更正確的方法?
DialogResult不能轉換爲布爾值。 :P – Siege 2010-08-23 07:15:05
經過這麼多年,我已經忘記了這個關鍵詞。 – 2010-08-23 07:20:44
@Siege:在WPF中,ShowDialog()的結果是一個布爾值 – 2010-08-23 07:23:55