有誰知道如何停止以下問題:有時您必須使用 Try-Catch 塊來查看值是否可以轉換為預期類型。例如,如果您不知道原始值是一個字符串,則不能只使用 TryParse。不幸的是,我剛剛發現了一個讓生活變得困難的 Visual Studio IDE 怪癖。要查看這一點,請創建一個 Winforms 項目并將以下代碼添加到表單加載中: private void Form1_Load(object sender, EventArgs e) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); int numTries = 1000; object obj = ""; for (int i = 0; i < numTries; i++) { try { int val = (int)obj; } catch (System.InvalidCastException) { } } TimeSpan ts = stopWatch.Elapsed; string elapsedTime = $"{numTries} failed try-catch took a time of {ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}"; MessageBox.Show(elapsedTime); }當我在 IDE 中運行它時,代碼需要 17 秒來處理 1000 個失敗的 try-catch 塊。相比之下,如果我在 IDE 之外運行調試版本,花費的時間太短,甚至無法注冊。這是我正在使用的編輯器的代碼調試問題。我使用的是 Visual Studio 2017 Enterprise,版本 15.4.0,.NET Framework 4.7.02046
C# 在 Visual Studio IDE 中嘗試捕獲失敗很慢
慕碼人8056858
2021-06-23 18:05:25