Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 4.0 如何将Linq二进制类型写入MemoryStream,反之亦然_.net 4.0_C# 4.0_Binary_Memorystream - Fatal编程技术网

.net 4.0 如何将Linq二进制类型写入MemoryStream,反之亦然

.net 4.0 如何将Linq二进制类型写入MemoryStream,反之亦然,.net-4.0,c#-4.0,binary,memorystream,.net 4.0,C# 4.0,Binary,Memorystream,我将把System.Data.Linq.Binary值写入MemoryStream并执行一些操作,然后将新值从MemoryStream重新写入Binary!怎么做?您不能修改二进制实例,因为它是不可变的(MSDN文档中说:“表示不可变的二进制数据块”)。但您可以为二进制变量指定一个新值: Binary binary = ... // Binary to MemoryStream MemoryStream stream = new MemoryStream(binary.ToArray());

我将把
System.Data.Linq.Binary
值写入
MemoryStream
并执行一些操作,然后将新值从
MemoryStream
重新写入
Binary
!怎么做?

您不能修改
二进制
实例,因为它是不可变的(MSDN文档中说:“表示不可变的二进制数据块”)。但您可以为
二进制变量指定一个新值:

Binary binary = ...

// Binary to MemoryStream
MemoryStream stream = new MemoryStream(binary.ToArray());

...

// MemoryStream to binary
binary = stream.ToArray(); // implicit conversion from byte[] to Binary

虽然不是专门讨论记忆之流,但我可以知道我对我的答案投反对票的原因吗?因为它可以帮助我提高。:-)@Siva因为我想将二进制文件写入MemoryStream,反之亦然,而不是转换为字符串,反之亦然!