共用方式為


重構以在 for 迴圈與 foreach 陳述式之間轉換

本文說明在兩個迴圈結構之間進行轉換的快速動作重構。 其中包括您可能會想要在程式碼中於 for 迴圈與 foreach 陳述式之間切換的原因。

將 for 迴圈轉換成 foreach 陳述式

若您的程式碼中有 for 迴圈,您可以使用此重構,將其轉換為 foreach 陳述式。

此重構適用於:

  • C#

  • Visual Basic

注意

[轉換為 foreach] 快速動作重構僅適用於包含下列所有三個組件的 for 迴圈:初始設定式、條件及迭代器。

轉換的理由

for 迴圈轉換為 foreach 陳述式的理由包括:

  • 除了當作用來存取項目的索引之外,您不會在迴圈內使用區域迴圈變數。

  • 您想要簡化程式碼,以及降低初始設定式、條件及迭代器區段中發生邏輯錯誤的可能性。

如何使用

  1. 將插入號放在 for 關鍵字中。

  2. Ctrl+. 或按一下程式碼檔案邊界的螺絲起子 Screwdriver icon 圖示。

    Convert to foreach menu

  3. 選取 [轉換為 'foreach']。 或選取 [預覽變更] 以開啟 [預覽變更] 對話方塊,然後選取 [套用]

將 foreach 陳述式轉換成 for 迴圈

如果您的程式碼中有 foreach (C#)For Each...Next (Visual Basic) 陳述式,則可以使用此重構將其轉換為 for 迴圈。

此重構適用於:

  • C#

  • Visual Basic

轉換的理由

foreach 陳述式轉換為 for 迴圈的理由包括:

  • 除了存取項目之外,您想要在迴圈內使用本機迴圈變數來進行其他工作。

  • 透過多維度陣列反覆運算,並想要陣列元素的更多控制權。

如何使用

  1. 將插入號放在 foreachFor Each 關鍵字中。

  2. Ctrl+. 或按一下程式碼檔案邊界的螺絲起子 Screwdriver icon 圖示。

    Convert to for menu

  3. 選取 [轉換為 'for']。 或選取 [預覽變更] 以開啟 [預覽變更] 對話方塊,然後選取 [套用]

  4. 由於重構採用了新的反覆運算計數變數,因此 [重新命名] 方塊會顯示在編輯器的右上角。 若您想為變數選擇其他名稱,請鍵入名稱後按 Enter 鍵或選取 [重新命名] 方塊中的 [套用]。 若您不想選擇新名稱,則按 Esc 鍵或選取 [套用] 關閉 [重新命名] 方塊。

注意

就 C# 而言,這些重構所產生的程式碼會針對集合中項目的類型,使用明確的類型或 var。 所產生程式碼中的類型 (不論是明確還是隱含) 會取決於範圍內的程式碼樣式設定。 設定這些特定程式碼樣式設定時,是在電腦層級的下列位置底下設定:[工具] >[選項] > [文字編輯器] > [C#] > [程式碼樣式] > [一般] > [var' 喜歡設定],或在 EditorConfig 檔案中的方案層級設定。 如果您在 [選項] 中變更某個程式碼樣式,請重新開啟程式碼檔案以讓變更生效。

另請參閱