平時在存取資料時可能會類似下面的方式,會將資料整理完,儲存在清單中,再一次將整個清單回傳:
在 C# 中回傳 IEnumerable 或 IEnumerator 時可以使用 yield 關鍵字,將資料直接回傳上一層直接處理,然後再繼續處理,不需要等到所有資料蒐集完畢再一次回傳,不只可以節省時間,還可以節省記憶體空間。
yield 範例:
不需要繼續執行也可以使用 yield break; 來達成平時的 return 跳出方法
    
public IEnumerable<int> GetNumbers()
{
    var numbers = new List<int>();
    for (int i = 0; i < 100_000_000; i++)
    {
        numbers.Add(i);
    }
    return numbers;
}
    
在 C# 中回傳 IEnumerable 或 IEnumerator 時可以使用 yield 關鍵字,將資料直接回傳上一層直接處理,然後再繼續處理,不需要等到所有資料蒐集完畢再一次回傳,不只可以節省時間,還可以節省記憶體空間。
yield 範例:
    
public static IEnumerable<int> GetNumbers()
{
    for (int i = 0; i < 100_000_000; i++)
    {
        yield return i;
    }
}
    
不需要繼續執行也可以使用 yield break; 來達成平時的 return 跳出方法
    
yield break;
    
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com