কম্পিউটার টিউটোরিয়াল

C#-তে yield return-এর ব্যবহার কী?

Yield কিওয়ার্ড একটি কালেকশনের ওপর কাস্টম স্টেটফুল ইটারেশন করতে সাহায্য করে। অর্থাৎ, যখন আমরা `yield` কিওয়ার্ড ব্যবহার করি, কন্ট্রোল কলার ফাংশন থেকে সোর্সে এবং সোর্স থেকে কলার ফাংশনে ব लिये যেতে থাকে।

উদাহরণ

using System;
using System.Collections.Generic;

namespace DemoApplication
{
    class Program
    {
        static List numbersList = new List { 1, 2, 3, 4, 5 };

        public static void Main()
        {
            foreach (int i in RunningTotal())
            {
                Console.WriteLine(i);
            }
            Console.ReadLine();
        }

        public static IEnumerable RunningTotal()
        {
            int runningTotal = 0;
            foreach (int i in numbersList)
            {
                runningTotal += i;
                yield return (runningTotal);
            }
        }
    }
}

আউটপুট

1
3
6
10
15

উপরের উদাহরণে, মেইন মেথডের `foreach`-এ আমরা `RunningTotal`-এর নাম্বার লিস্ট দিয়ে লুপ করছি। তাই যখনই `yield return` কল হয়, কন্ট্রোল মেইন মেথডের `foreach` লুপে ফিরে যায় এবং মান প্রিন্ট করে। প্রিন্ট হওয়ার পর কন্ট্রোল আবার `RunningTotal`-এর `foreach`-এ চলে যায়। এখানে একটি বিষয় লক্ষ্য করা দরকার যে প্রিভিয়াস ভ্যালুও সংরক্ষিত থাকে। এক কথায়, `yield` কিওয়ার্ড কার্যকরভাবে একটি লেজি এনিউমেরেশন তৈরি করে কালেকশন আইটেমগুলোর ওপর যা অনেক বেশি ইফিশিয়েন্ট হতে পারে।

  1. C#-এ return স্টেটমেন্ট ব্যবহার করা

  2. C#-এ 'using' স্টেটমেন্টের ব্যবহার কী?

  3. C#-এ 'new' কীওয়ার্ডের ব্যবহার

  4. C#-এ sizeof অপারেটরের ব্যবহার