Я получаю поток и должен передать IEnumerable другому методу.
public static void streamPairSwitchCipher(Stream someStream)
{
...
someStreamAsIEnumerable = ...
IEnumerable returned = anotherMethodWhichWantsAnIEnumerable(someStreamAsIEnumerable);
...
}
Один из способов - прочитать весь поток, преобразовать его в массив байтов и передать его, поскольку Array реализует IEnumerable. Но было бы намного лучше, если бы я мог пройти в нем таким образом, что мне не нужно читать весь поток, прежде чем передавать его.
public static IEnumerable<T> anotherMethodWhichWantsAnIEnumerable<T>(IEnumerable<T> p) {
... // Something uninteresting
}