C # में आप वापसी प्रकार IEnumerable<T>और उपयोग के साथ तरीकों का निर्माण कर सकते हैं yield returnऔर yield breakप्रवाह को नियंत्रित कर सकते हैं। यहाँ एक सरल उदाहरण है जो दोनों नियंत्रणों का उपयोग करता है:
public IEnumerable<int> GetEvens(int start, int end) {
if(end < start)
yield break;
if(start & 2 != 0)
start++;
for(int i = start; i <= end; i+=2) {
yield return i;
}
}
मेरा सवाल है, यह मूल रूप से दो खोजशब्दों का उपयोग करने के लिए क्यों बनाया गया था yieldऔर इसका उपयोग निम्न की तरह नहीं किया गया था, जैसे कि yield"रिटर्न वैल्यू का पैमाना":
public IEnumerable<int> GetEvens(int start, int end) {
if(end < start)
return; // stop completely and return nothing
if(start & 2 != 0)
start++;
for(int i = start; i <= end; i+=2) {
yield i; // yield the current value.
}
}
मेरे लिए, यह पढ़ना और समझना सरल है।
yield x;भी सिंटैक्स त्रुटि नहीं होगी?