Advertisement
damesova

MyBytes

Nov 11th, 2022
920
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.70 KB | None | 0 0
  1. public class MyBytes : IEnumerable, IEnumerator
  2.     {
  3.         //Полета:
  4.         byte[] bytes = { 1, 3, 5, 7 };
  5.        
  6.         int index = -1;
  7.  
  8.  
  9.         //От интерфейса IEnumerable:
  10.         public IEnumerator GetEnumerator()
  11.         {
  12.             return this;
  13.         }
  14.  
  15.         //От интерфейса IEnumerator:
  16.         public bool MoveNext()
  17.         {
  18.             //Премества итератора на следващия елемент.
  19.             //Ако е последен, сетва итератора в началото
  20.             if (index == bytes.Length -1)
  21.             {
  22.                 Reset();
  23.                 return false;
  24.             }
  25.  
  26.             index++;
  27.             return true;
  28.         }
  29.  
  30.         public object Current {
  31.             //Връща текущия елемент, на чиято позиция се намира итератора
  32.             get { return bytes[index]; }
  33.         }
  34.  
  35.         public void Reset()
  36.         {
  37.         // Връща итератора в началото на колекцията - bytes
  38.             index = -1;
  39.         }
  40.     }
  41.  
  42. //==============================
  43.  
  44. public class Program
  45.     {
  46.         static void Main(string[] args)
  47.         {
  48.             //Създаваме обект от тип MyBytes
  49.             MyBytes mb = new MyBytes();
  50.            
  51.  
  52.            
  53.             //Обхождаме всички елементи в колекцията mb
  54.             //и принтираме на конзолата на един ред със спейс
  55.             foreach (var b in mb)
  56.             {
  57.                 Console.Write(b + " ");
  58.             }
  59.         }
  60.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement