發表文章

[C#] yield return

說明 函數 A 呼叫函數 B。 函數 B 開始執行,直到達到 yield return 敘述。 在達到 yield return 的地方,函數 B 會暫停執行,並將控制權和一個值返回給函數 A。 函數 A 接收到值後,可以進行處理並決定是否繼續呼叫函數 B。 如果函數 A 決定繼續呼叫函數 B,那麼函數 B 將在暫停的地方繼續執行,直到達到下一個 yield return 或函數結束。 這個過程將繼續進行,直到函數 B 執行結束或沒有更多值可產生。 範例 程式碼 using System; using System.Collections.Generic; class Program {     static void Main(string[] args)     {         foreach (int num in GenerateEvenNumbers(10))         {             Console.WriteLine(num);         }     }     static IEnumerable<int> GenerateEvenNumbers(int limit)     {         for (int i = 1; i <= limit; i++)         {             if (i % 2 == 0)             {                 yield return i;             }         }     } } 執行結果 2 4 6 8 10