Софтуерно Инженерство
Loading...
+ Нов въпрос
DNikolov avatar DNikolov 12 Точки

Как да реализирам интерфейса IEnumerable (6-та задача от домашното, последна подточка) ?

  1. Реализирам класа по следния начин
  2. http://pastebin.com/aSYYqEeD
  3. Кои методи да добавя, за да реализирам класа и как да ги реализирам ?
  4. ModEdit: Цитирането на повече от 12-15 реда код е в нарушение на правилата на форума.
Тагове:
0
Структури от данни и алгоритми 11/07/2015 17:04:09
ksevery avatar ksevery 35 Точки

Първо, като наследиш IEnumerable<T>, даваш върху него CTRL + . и му казваш Implement interface.

Ще ти се появят два метода - единият е GetEnumerator<T>(), другият е GetEnumerator(). В GetEnumerator<T>() въртиш for цикъл през вътрешния масив и на всяка итерация му казваш yield return на елемента, до който си стигнал. GetEnumerator() просто му казваш вътре return this.GetEnumerator().

Поздрави,
Константин

3
Karlie avatar Karlie 438 Точки

Виж към същата лекция има един линк: Упражнения в клас (предполагам, че е видимо за всички студенти, не само за записаните присъствено). Там е имплементиран.

1
11/07/2015 18:04:47
DJZoning avatar DJZoning 85 Точки

Можеш да дебъгнеш този код. Tой ще ти помогне да разбереш как работи yield return, които пък се използва за реализацията на GetEnumerator().

За повече инфо -> iterators

1
12/07/2015 14:02:37