C# можно ли к классу обратиться как к коллекции?
Есть задание: Написать пример класса для использования его в цикле foreach(var i in MyClass).
Но это получается, мы буквально обращаемся к классу как какому-то массиву. Кто знает как это сделать?
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Ну например реализовать IEnumerable<T>
public class MyClass : IEnumerable<int>
{
public IEnumerator<int> GetEnumerator()
{
for (int i = 1; i < 100; i *= 2)
yield return i;
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
Работает вот так
static void Main(string[] args)
{
var items = new MyClass();
foreach (int i in items)
{
Console.WriteLine(i);
}
}
Вывод в консоль
1
2
4
8
16
32
64