code_junkie

Iterator Pattern VB.net (C# would use yield!)

Nov 12th, 2011
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. Private Iterator Function SomeNumbers() As IEnumerable
  2. ' Use multiple yield statements.
  3. Yield 3
  4. Yield 5
  5. Yield 8
  6. End Function
  7.  
  8. Dim counter As Integer = 0
  9. Dim results As New List(Of Integer)
  10. Dim result As Integer = 1
  11. While counter < 5
  12. result = result * 2
  13. results.Add(result)
  14. counter += 1
  15. End While
  16. Return results.ToArray()
  17. End Function
  18.  
  19. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  20. For Each i As Integer In setofNumbers()
  21. MessageBox.Show(i)
  22. Next
  23. End Sub
  24.  
  25. private void Form1_Load(object sender, EventArgs e)
  26. {
  27. foreach (int i in setofNumbers())
  28. {
  29. MessageBox.Show(i.ToString());
  30. }
  31. }
  32.  
  33. public static IEnumerable<int> setofNumbers()
  34. {
  35. int counter=0;
  36. //List<int> results = new List<int>();
  37. int result=1;
  38. while (counter < 5)
  39. {
  40. result = result * 2;
  41. counter += 1;
  42. yield return result;
  43. }
  44. }
Add Comment
Please, Sign In to add comment