সি # তে আপনি রিটার্ন টাইপ 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;সিনট্যাক্স ত্রুটি ছিল না?