Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyBytes : IEnumerable, IEnumerator
- {
- //Полета:
- byte[] bytes = { 1, 3, 5, 7 };
- int index = -1;
- //От интерфейса IEnumerable:
- public IEnumerator GetEnumerator()
- {
- return this;
- }
- //От интерфейса IEnumerator:
- public bool MoveNext()
- {
- //Премества итератора на следващия елемент.
- //Ако е последен, сетва итератора в началото
- if (index == bytes.Length -1)
- {
- Reset();
- return false;
- }
- index++;
- return true;
- }
- public object Current {
- //Връща текущия елемент, на чиято позиция се намира итератора
- get { return bytes[index]; }
- }
- public void Reset()
- {
- // Връща итератора в началото на колекцията - bytes
- index = -1;
- }
- }
- //==============================
- public class Program
- {
- static void Main(string[] args)
- {
- //Създаваме обект от тип MyBytes
- MyBytes mb = new MyBytes();
- //Обхождаме всички елементи в колекцията mb
- //и принтираме на конзолата на един ред със спейс
- foreach (var b in mb)
- {
- Console.Write(b + " ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement