AidaHagh / C-Sharp

Learn C#
1 stars 0 forks source link

yield return #32

Open AidaHagh opened 3 months ago

AidaHagh commented 3 months ago

- برای تولید دنباله‌ای از مقادیر به صورت تدریجی است.

public class Program {

public static void Main()
{
    foreach (char letter in GetAlphabet())
    {
        Console.WriteLine(letter);
    }
}

public static IEnumerable<char> GetAlphabet()
{
    for (char letter = 'A'; letter <= 'Z'; letter++)
    {
        yield return letter;
    }
}

}

اینجا yield میگه صبر کن این حلقه تموم بشه ، letter ها به این لیست(IEnumerable ) اضافه بشن بعد ریترن کن .

AidaHagh commented 3 months ago

//example2 (تولید اعداد زوج با yield return)

public class Program {

public static void Main()
{
    foreach (int evenNumber in GetEvenNumbers(10))
    {
        Console.WriteLine(evenNumber);
    }
}

public static IEnumerable<int> GetEvenNumbers(int count)
{
    for (int i = 0; i < count; i++)
    {
        yield return i * 2;
    }
}

}