0 امتیاز
قبل در برنامه نویسی توسط (843 امتیاز)
برچسب گذاری دوباره قبل توسط

آیا در C# کلمه کلیدی yield وجود دارد؟ اگر وجود دارد کاربردش چیست؟

2 پاسخ

+2 امتیاز
قبل توسط (760 امتیاز)
جواب سئوال اول : بله

جواب سئوال دوم : مسلم میدونم شاید جوابم نتونه شما رو قانع کنه اما اگه دیده باشین شما زمانی که پایان توابعتون از return استفاده می کنید ، فقط و فقط یکبار بکار میره و عملا" هر کدی بعد از اون دیگه اجرا نمیشه! اصلا" دیده نمیشه!

اما با قرارا دادن yield قبل return میتونید خروجی های متفاوت رو پاس بدید.

;yield return RESULT

الآن کدی ازش ندارم اما در صورتی که پیدا کردم ، حتتتتما" براتون میذارم تا ببینید.
قبل توسط (843 امتیاز)
اگر یک مثال بیارید ممنون می شم.
+2 امتیاز
قبل توسط (1.1هزار امتیاز)

با استفاده از کلمه کلیدی yield می توان کنترل برنامه را از تابع فراخوانی شده (source) به تابع فراخوانی کننده (caller) برگرداند و بلعکس، یکی از کاربردهای آن yield return است که به برنامه نویس اجازه می دهد که بدون temp collection یک collection را به تابع فراخوانی کننده (caller) برگرداند:

        static IEnumerable<int> GetRandomNumbers(int count)
        {
            Random rand = new Random();            
            for (int i = 0; i < count; i++)
            {
                yield return rand.Next();
            }            
        }

متد فوق معادل متد زیر است:

static IEnumerable<int> GetRandomNumbers(int count)
{
    Random rand = new Random();
    List<int> ints = new List<int>(count);
    for (int i = 0; i < count; i++)
    {
        ints.Add(rand.Next());
    }
    return ints;
}
سوال شده 10 سال قبل در برنامه نویسی توسط (1.1هزار امتیاز) کاربرد yield break در C# چیست؟

سوالات مشابه

+1 امتیاز
1 پاسخ 996 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 786 بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
+1 امتیاز
1 پاسخ 2.1هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
0 امتیاز
0 پاسخ 253 بازدید
+1 امتیاز
1 پاسخ 283 بازدید
0 امتیاز
0 پاسخ 652 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط alinaseri (0 امتیاز)
...