C# में yield कीवर्ड किसके लिए है और यह कैसे काम करता है?
सभी को नमस्ते! मैंने हाल ही में C# सीखना शुरू किया है और `yield` कीवर्ड पर ध्यान गया। मैंने MSDN पर डॉक्यूमेंटेशन पढ़ा, लेकिन पूरी तरह से समझ नहीं आया कि इसकी आवश्यकता क्यों है। ऐसा लगता है कि हम मेथड से सीधे लिस्ट या array रिटर्न कर सकते हैं, तो yield return का उपयोग क्यों करें?
मेरे पास ऐसा कोड है: मैं एक मेथड लिख रहा हूँ जो Fibonacci संख्याओं का sequence जनरेट करता है। अभी मैं इसे इस तरह कर रहा हूँ:
```csharp
public List GetFibonacci(int count)
{
var result = new List();
int a = 0, b = 1;
for (int i = 0; i < count; i++)
{
result.Add(a);
int temp = a;
a = b;
b = temp + b;
}
return result;
}
```
लेकिन मैंने देखा कि इसे `yield return` के साथ भी लिखा जा सकता है:
```csharp
public IEnumerable GetFibonacci(int count)
{
int a = 0, b = 1;
for (int i = 0; i < count; i++)
{
yield return a;
int temp = a;
a = b;
b = temp + b;
}
}
```
इनमें क्या अंतर है? पहले विकल्प का उपयोग कब करना चाहिए, और दूसरे का कब?