Comme GuyFawkes J'aimerais utiliser MemoryStream pour stocker une grande quantité de données, mais je rencontre sans cesse des exceptions de type "out of memory".
La réponse de TomTom correspond à ce que j'aimerais faire - utiliser une implémentation qui ne nécessite pas de bloc contigu - mais je me demande s'il existe déjà une implémentation gratuite disponible, pour m'éviter d'en écrire une moi-même ?
Quelqu'un connaît-il une bonne réimplémentation libre de MemoryStream qui puisse fonctionner avec des flux importants ?
EDIT :
La solution MemoryMappedFile est très intéressante et je m'en souviendrai pour d'autres projets, mais comme le dit Henk, elle s'éloigne trop de l'abstraction visée par MemoryStream. Plus précisément, l'exigence d'une capacité connue.
Les données que le remplaçant devra traiter seront dans certains cas très volumineuses, mais dans d'autres relativement petites (et non, nous ne savons pas lesquelles avant qu'il ne soit trop tard ;)) ; en outre, de nombreuses instances de la classe existeront en même temps. En fin de compte, le travail requis pour utiliser les MemoryMappedFiles (pour déterminer une taille appropriée pour chacun d'entre eux) serait équivalent à celui de la mise en œuvre de la solution de TomTom.