C# में yield कीवर्ड किसके लिए है? yield return और yield break का उपयोग कैसे करें?
सभी को नमस्ते! मैंने अभी C# सीखना शुरू किया है और `yield` कीवर्ड पर ध्यान दिया है। सच कहूं तो, मैं पूरी तरह से नहीं समझता कि इसकी आवश्यकता क्यों है और इसका सही उपयोग कैसे करें।
मैंने उदाहरण देखे हैं जहां `yield return` का उपयोग उन methods के अंदर किया जाता है जो `IEnumerable` या `IEnumerable` लौटाते हैं। लेकिन मेरे दो प्रश्न हैं:
1. सामान्य collection (जैसे `List` को `return` के माध्यम से) लौटाने और `yield return` का उपयोग करने में क्या अंतर है?
2. वास्तविक projects में, न कि केवल शैक्षिक उदाहरणों में, इसकी वास्तव में कब आवश्यकता होती है?
यहाँ एक उदाहरण है जो मुझे MSDN पर मिला, लेकिन यह मुझे अजीब लगता है:
```csharp
static IEnumerable GetNumbers()
{
for (int i = 0; i < 10; i++)
{
yield return i;
}
}
```
ऐसा क्यों नहीं कर सकते?
```csharp
static List GetNumbers()
{
List list = new List();
for (int i = 0; i < 10; i++)
{
list.Add(i);
}
return list;
}
```
आखिरकार, परिणाम तो वही लगता है — हमें 0 से 9 तक की संख्याओं का collection मिलता है।