溫馨提示×

yield c# 在集合處理中的妙用

c#
小樊
83
2024-07-14 04:31:24
欄目: 編程語言

在C#中,yield關(guān)鍵字可以用于創(chuàng)建一個(gè)迭代器方法,該方法可以方便地遍歷集合中的元素。通過使用yield關(guān)鍵字,我們可以簡化集合處理操作,并且可以節(jié)省內(nèi)存空間。

下面是一些使用yield關(guān)鍵字的示例:

  1. 通過yield返回一個(gè)集合中的所有元素:
public IEnumerable<int> GenerateNumbers()
{
    for (int i = 0; i < 10; i++)
    {
        yield return i;
    }
}
  1. 通過yield過濾集合中的元素:
public IEnumerable<int> FilterNumbers(IEnumerable<int> numbers)
{
    foreach (int num in numbers)
    {
        if (num % 2 == 0)
        {
            yield return num;
        }
    }
}
  1. 使用yield實(shí)現(xiàn)延遲加載:
public IEnumerable<int> LazyLoadNumbers()
{
    for (int i = 0; i < 1000000; i++)
    {
        yield return i;
    }
}

通過使用yield關(guān)鍵字,我們可以更加靈活地處理集合中的元素,并且可以減少對內(nèi)存的占用。這使得我們可以更加高效地處理大型集合數(shù)據(jù),同時(shí)代碼也更加簡潔易懂。

0