共用方式為


C# 編輯後繼續:錯誤 4054

啟用 [編輯後繼續] 時,修改包含 'yield return' 或 'yield break' 陳述式的 'method | property | indexer | operator' 會阻礙偵錯工作階段繼續進行。

如果您嘗試修改包含 yield return 或 yield break 陳述式的方法、屬性、索引子,或運算元,就會發生這個錯誤。 如需詳細資訊,請參閱 yield (C# 參考)。 在偵錯期間,[編輯後繼續] 不支援這項變更。

請考慮下列程式碼:

class Program

{

   private int[] items = { 1, 2, 3 };

   System.Collections.Generic.IEnumerable<int> Range(int start, int end)

   {

      for (int index = start; index < end; index++)

      {

      yield return items[index];

      }

   }

   static void Main()

   {

      Program p = new Program();

      foreach (int item in p.Range(0, 2))

      {

         

      }

   }

}

如果您在 yield return items[index] 上設定中斷點,然後開始偵錯並嘗試在 Range 方法中加入區域變數宣告 int a = 10,就會發生這個錯誤。

若要修正這個錯誤

  • 復原變更,然後在不變更的情況下繼續進行偵錯作業。

    -或-

    在 [偵錯] 功能表上按一下 [停止偵錯],進行變更,然後開始新的偵錯工作階段。

請參閱

參考

yield (C# 參考)

支援的程式碼變更 (C#)

編輯後繼續 (Visual C#)

其他資源

編輯後繼續的錯誤和警告 (C#)