There is built-in support (from .Net 4.0) Streamfor copying one stream to another through CopyTo, for example:
stream1.CopyTo(stream2)
Example:
[Test]
public void test()
{
string inString = "bling";
byte[] inBuffer = Encoding.ASCII.GetBytes(inString);
Stream stream1 = new MemoryStream(inBuffer);
Stream stream2 = new MemoryStream();
stream1.CopyTo(stream2);
byte[] outBuffer = new byte[inBuffer.Length];
stream2.Position = 0;
stream2.Read(outBuffer, 0, outBuffer.Length);
string outString = Encoding.ASCII.GetString(outBuffer);
Assert.AreEqual(inString, outString, "inString equals outString.");
}
source
share