block to provide a value to the enumerator object or to signal the end of iteration."
However, I found the concept of yield quite confusing, so I decided to make a code
sample how yield is used, so you can see how it operates and how it may benefit you.
1 using System;
2 using System.Collections;
3 using System.Collections.Generic;
    4  5 namespace YieldTest
    6 { 7 public class Tester
    8   { 9 public static IEnumerable Power(int number, int exponent)
   10     { 11 int counter = 0;
12 int result = 1;
13 while (counter++ <>14 {15 result = result * number;16 yield return result;17 }18 }1920 public static IEnumerable<string> GetEnumerator()21 {22 yield return "one";23 yield return "two";24 yield return "three";25 }262728 static void Main(string[] args)29 {30 // Display powers of 2 up to the exponent 8:31 // 2 4 8 16 32 64 128 25632 foreach (int i in Power(2, 8))33 {34 Console.Write("{0} ", i);35 }36 Console.Write("\n");3738 // Displays following:39 // one two three40 foreach(string s in GetEnumerator())41 Console.Write("{0} ", s);4243 Console.ReadLine();44 }45 }46 }
Further reading in MSDN: yield (C# Reference)
 
 
No comments:
Post a Comment