Estoy buscando algún tipo de iterador/enumerador que pueda escribir en la colección de respaldo. Según entiendo, los enumeradores de C# son de solo lectura.¿Hay un C# equivalente al repetidor de salida STL?
5
A
Respuesta
2
Ya no existe nada en C# para hacer tal cosa.
Tienes razón IEnumerator's Current property se define como un getter solamente.
Tendría que escribir una nueva clase y/o interfaz para admitir tal cosa.
interface IOutputable<T> {
IOutputer<T> GetOutputer();
}
interface IOutputer<T> {
T Current { set; }
bool MoveNext();
void Reset();
}
2
AFAIK un iterador de salida es una forma de crear una secuencia de objetos. Hay una gran cantidad de formas de hacer eso en C#. Por ejemplo, usando un Stack
. En vez de hacer un incremento de estilo C++ operación/asignar que haría un empujón:
var sequence = new Stack<int>();
sequence.Push(1);
sequence.Push(2);
A menos que tenga una aplicación muy específica para ello, es probable que haya ningún beneficio al tratar de emular a los iteradores de salida en C#.
0
Dependiendo de lo que estés tratando de hacer, un yield return
podría hacer lo que estás buscando también.
Cuestiones relacionadas
- 1. ¿Un buen C equivalente al vector STL?
- 2. C equivalente de C++ STL
- 3. ¿Hay un equivalente al urllib de python en c/C++?
- 4. .Net ¿Repetidor equivalente para un solo objeto?
- 5. ¿Hay un equivalente al Proceso de C#. Comienza en PHP?
- 6. ¿Hay un C++ equivalente al BigDecimal de Java?
- 7. ¿Hay un equivalente al F # Seq.windowed en C#?
- 8. ¿Hay un equivalente de C# de m_nCmdShow?
- 9. Enlazar diccionario al repetidor
- 10. ¿Hay una estructura en Python similar al mapa C++ STL?
- 11. ¿Hay un equivalente de str_replace en C++?
- 12. ¿Hay un equivalente en VB.NET de los parámetros de salida de C#?
- 13. ¿Hay un Java equivalente a MISRA C?
- 14. Delphi - ¿Hay algún equivalente al bloqueo de C#?
- 15. ¿Hay un C# equivalente a IsDebuggerPresent()?
- 16. ¿Hay un C++ equivalente a getcwd?
- 17. ¿Hay un JavaScript equivalente para C# 'params'?
- 18. ¿Hay un equivalente a Groovy en C#?
- 19. ¿Hay un equivalente a typedef en C#?
- 20. equivalente Python para C++ STL contenedores vector/Lista
- 21. ¿Hay un equivalente de estática de C en C#?
- 22. ¿Hay un equivalente estándar de C++ del Vector3 de C#?
- 23. salida equivalente en D?
- 24. ¿Hay un C# idiomático equivalente al operador de coma de C?
- 25. ¿Hay un equivalente C/C++ de eval ("function (arg1, arg2)")?
- 26. ¿Hay un equivalente en C para las plantillas de C++?
- 27. ¿Hay un equivalente al lanzamiento dinámico de C++ en Objective-C?
- 28. ¿Hay un equivalente de Ruby al extracto de PHP?
- 29. ¿Hay un esquema equivalente al programa de ejecución de SBCL?
- 30. ¿Hay algún riesgo real derivado de los contenedores C++ STL?
Esta debería ser la respuesta aceptada. El enfoque de MerickOWA puede funcionar, pero no es la forma C# de hacer las cosas. – dan04