Noté que List<T>
define su enumerador como struct
, mientras que ArrayList
define su enumerador como class
. ¿Cual es la diferencia? Si voy a escribir un enumerador para mi clase, ¿cuál sería preferible?Implementación del enumerador: ¿usa struct o class?
EDITAR: Mis requisitos no pueden cumplirse usando yield
, entonces estoy implementando un enumerador de los míos. Dicho esto, me pregunto si sería mejor seguir las líneas de List<T>
e implementarlo como una estructura.
Me interesaría mucho saber dónde aborda un problema utilizando el retorno de rendimiento. –
1) Odio mucho la "magia del compilador", por lo que no estoy seguro de cuál será el resultado. (Aunque lo utilizaría para situaciones simples.) –
2) Quiero admitir una lista que se puede modificar durante la iteración. La semántica normal del iterador prohíbe eso. (¡Y no sé cómo el compilador sabría que mi lista se modificó!) –