Нет, потоки обычно ссылаются на локальные ресурсы определенного типа (сокет, дескриптор файла и т. Д.), Поэтому их нельзя клонировать или сериализовать.Кроме того, многие потоки предназначены только для пересылки и не поддерживают поиск, поэтому вы даже не сможете перечитать из потока.
Что вы можете сделать из читаемого потока, это скопировать его в MemoryStream, который можетперемещаться как байтовый массив.
В следующем посте приведен фрагмент кода, показывающий, как это сделать: Как скопировать содержимое одного потока в другой?
public static void CopyStream(Stream input, Stream output)
{
byte[] buffer = new byte[32768];
while (true)
{
int read = input.Read (buffer, 0, buffer.Length);
if (read <= 0)
return;
output.Write (buffer, 0, read);
}
}