Avatar ·

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 मिलता है।