MemoryStream类 memorystream string


.NET Framework 4.5其他版本此主题尚未评级-评价此主题

创建其支持存储区为内存的流。

继承层次结构
System.Object
System.MarshalByRefObject
System.IO.Stream
System.IO.MemoryStream
MemoryStream类 memorystream string
命名空间:System.IO
程序集:mscorlib(在mscorlib.dll 中)语法
C#C++F#VB
[SerializableAttribute][ComVisibleAttribute(true)]public class MemoryStream : Stream

MemoryStream类型公开以下成员。

构造函数
名称说明
MemoryStream()MemoryStreamclass with an expandable capacity initialized to zero."xml:space="preserve">使用初始化为零的可扩展容量初始化MemoryStream类的新实例。
MemoryStream(Byte[])MemoryStream class based on the specified byte array."xml:space="preserve">基于指定的字节数组初始化MemoryStream类的无法调整大小的新实例。
MemoryStream(Int32)MemoryStreamclass with an expandable capacity initialized as specified."xml:space="preserve">使用按指定要求初始化的可扩展容量初始化MemoryStream类的新实例。
MemoryStream(Byte[],Boolean)MemoryStream class based on the specified byte array withthe CanWrite property set asspecified."xml:space="preserve">使用按指定要求设置的CanWrite属性基于指定的字节数组初始化MemoryStream类的无法调整大小的新实例。
MemoryStream(Byte[],Int32, Int32)MemoryStream class based on the specified region (index) ofa byte array."xml:space="preserve">基于字节数组的指定区域(索引)初始化MemoryStream类的无法调整大小的新实例。
MemoryStream(Byte[],Int32, Int32, Boolean)MemoryStream class based on the specified region of a bytearray, with the CanWriteproperty set as specified."xml:space="preserve">使用按指定要求设置的CanWrite属性基于字节数组的指定区域初始化MemoryStream类的无法调整大小的新实例。
MemoryStream(Byte[],Int32, Int32, Boolean, Boolean)MemoryStreamclass based on the specified region of a byte array, with theCanWrite property set asspecified, and the ability to callGetBuffer set as specified."xml:space="preserve">在按指定要求设置CanWrite属性而且能够调用按指定要求设置的GetBuffer的情况下,基于字节数组的指定区域初始化MemoryStream类的新实例。
页首属性
名称说明
CanRead获取一个值,该值指示当前流是否支持读取。(重写Stream.CanRead。)
CanSeek获取一个值,该值指示当前流是否支持查找。(重写Stream.CanSeek。)
CanTimeout获取一个值,该值确定当前流是否可以超时。(继承自Stream。)
CanWrite获取一个值,该值指示当前流是否支持写入。(重写Stream.CanWrite。)
Capacity获取或设置分配给该流的字节数。
Length获取用字节表示的流长度。(重写Stream.Length。)
Position获取或设置流中的当前位置。(重写Stream.Position。)
ReadTimeout获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。(继承自Stream。)
WriteTimeout获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。(继承自Stream。)
页首方法
名称说明
BeginRead开始异步读操作。ReadAsyncinstead; see the Remarks section.)"xml:space="preserve">(考虑使用ReadAsync进行替换;请参见“备注”部分。)(继承自Stream。)
BeginWrite开始异步写操作。WriteAsyncinstead; see the Remarks section.)"xml:space="preserve">(考虑使用WriteAsync进行替换;请参见“备注”部分。)(继承自Stream。)
Close关闭当前流并释放与之关联的所有资源(如套接字和文件句柄)。不直接调用此方法,而应确保流得以正确释放。(继承自Stream。)
CopyTo(Stream)从当前流中读取字节并将其写入到另一流中。(继承自Stream。)
CopyTo(Stream,Int32)从当前流中读取字节并将其写入到另一流中(使用指定的缓冲区大小)。(继承自Stream。)
CopyToAsync(Stream)从当前流中异步读取所有字节并将其写入到另一个流中。(继承自Stream。)
CopyToAsync(Stream,Int32)从当前流中异步读取字节并将其写入到另一流中(使用指定的缓冲区大小)。(继承自Stream。)
CopyToAsync(Stream,Int32, CancellationToken)使用指定的缓冲区大小和取消标记,异步读取从当前流中读取和写入的所有字节到另一个流,。(重写Stream.CopyToAsync(Stream,Int32, CancellationToken)。)
CreateObjRef创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。(继承自MarshalByRefObject。)
CreateWaitHandle已过时。WaitHandleobject." xml:space="preserve">分配WaitHandle对象。(继承自Stream。)
Dispose()Stream."xml:space="preserve">释放由Stream使用的所有资源。(继承自Stream。)
Dispose(Boolean)MemoryStream class and optionally releases the managedresources."xml:space="preserve">释放MemoryStream类使用的非托管资源,并可以选择释放托管资源。(重写Stream.Dispose(Boolean)。)
EndRead等待挂起的异步读取完成。ReadAsyncinstead; see the Remarks section.)"xml:space="preserve">(考虑使用ReadAsync进行替换;请参见“备注”部分。)(继承自Stream。)
EndWrite结束异步写操作。WriteAsyncinstead; see the Remarks section.)"xml:space="preserve">(考虑使用WriteAsync进行替换;请参见“备注”部分。)(继承自Stream。)
Equals(Object)确定指定的对象是否等于当前对象。(继承自Object。)
Finalize允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。(继承自Object。)
FlushStream.Flushmethod so that no action is performed."xml:space="preserve">重写Stream.Flush方法以便不执行任何操作。(重写Stream.Flush()。)
FlushAsync()异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。(继承自Stream。)
FlushAsync(CancellationToken)异步清除此流中的任何缓冲区,并监视取消请求。(重写Stream.FlushAsync(CancellationToken)。)
GetBuffer返回从其创建此流的无符号字节数组。
GetHashCode用作特定类型的哈希函数。(继承自Object。)
GetLifetimeService检索控制此实例的生存期策略的当前生存期服务对象。(继承自MarshalByRefObject。)
GetTypeType ofthe current instance."xml:space="preserve">获取当前实例的Type。(继承自Object。)
InitializeLifetimeService获取控制此实例的生存期策略的生存期服务对象。(继承自MarshalByRefObject。)
MemberwiseClone()Object."xml:space="preserve">创建当前Object的浅表副本。(继承自Object。)
MemberwiseClone(Boolean)MarshalByRefObject object."xml:space="preserve">创建当前MarshalByRefObject对象的浅表副本。(继承自MarshalByRefObject。)
ObjectInvariant基础结构。已过时。Contract."xml:space="preserve">提供对Contract的支持。(继承自Stream。)

在 .NET Framework Client Profile 中,此成员由ObjectInvariant()重写。
Read从当前流中读取字节块并将数据写入缓冲区中。(重写Stream.Read(Byte[],Int32, Int32)。)
ReadAsync(Byte[],Int32, Int32)从当前流异步读取字节序列,并将流中的位置向前移动读取的字节数。(继承自Stream。)
ReadAsync(Byte[],Int32, Int32, CancellationToken)异步读取字节顺序从当前流中,通过读取的字节数提升在流中的位置,并监视取消请求。(重写Stream.ReadAsync(Byte[],Int32, Int32, CancellationToken)。)
ReadByte从当前流中读取一个字节。(重写Stream.ReadByte()。)
Seek将当前流中的位置设置为指定值。(重写Stream.Seek(Int64,SeekOrigin)。)
SetLength将当前流的长度设为指定值。(重写Stream.SetLength(Int64)。)
ToArrayPosition property."xml:space="preserve">将流内容写入字节数组,而与Position属性无关。
ToString返回表示当前对象的字符串。(继承自Object。)
Write使用从某个缓冲区读取的数据将字节块写入当前流。(重写Stream.Write(Byte[],Int32, Int32)。)
WriteAsync(Byte[],Int32, Int32)将字节序列异步写入当前流,并将流的当前位置向前移动写入的字节数。(继承自Stream。)
WriteAsync(Byte[],Int32, Int32, CancellationToken)异步写入字节序列与当前流、事先当前位置此流中由编写的字节数和监视取消的请求。(重写Stream.WriteAsync(Byte[],Int32, Int32, CancellationToken)。)
WriteByte将一个字节写入当前流中的当前位置。(重写Stream.WriteByte(Byte)。)
WriteTo将此内存流的整个内容写入另一个流中。
页首扩展方法
名称说明
AsInputStream将 适用于 Windows 应用商店应用的 .NET 中一个托管的流转换为 Windows运行时 中的输入流。(由WindowsRuntimeStreamExtensions定义。)
AsOutputStream将 适用于 Windows 应用商店应用的 .NET 中一个托管的流转换为 Windows运行时 中的输出流。(由WindowsRuntimeStreamExtensions定义。)
GetWindowsRuntimeBuffer()已重载。Windows.Storage.Streams.IBufferinterface that represents the same memory as the specified memorystream. "xml:space="preserve">返回表示内存和指定的内存流相同的Windows.Storage.Streams.IBuffer接口。(由WindowsRuntimeBufferExtensions定义。)
GetWindowsRuntimeBuffer(Int32,Int32)已重载。Windows.Storage.Streams.IBufferinterface that represents a region within the memory that thespecified memory stream represents. "xml:space="preserve">返回表示在内存中的一个区域指定的内存流表示的Windows.Storage.Streams.IBuffer接口。(由WindowsRuntimeBufferExtensions定义。)
页首备注

流的当前位置是下一个读取或写入操作可能发生的位置。Seekmethod."xml:space="preserve">当前位置可以通过Seek方法检索或设置。MemoryStreamis created, the current position is set to zero."xml:space="preserve">在创建MemoryStream的新实例时,当前位置设置为零。

用无符号字节数组创建的内存流提供无法调整大小的数据流。当使用字节数组时,虽然根据传递到构造函数中的参数可能能够修改现有内容,但既不能追加也不能收缩流。空内存流是可调整大小的,而且可以向其写入和从中读取。

MemoryStream object isadded to a ResX file or a .resources file, call theGetStream method at runtimeto retrieve it."xml:space="preserve">如果将MemoryStream对象添加到ResX 文件或 .resources 文件中,则可在运行时调用GetStream方法对其进行检索。

MemoryStream object isserialized to a resource file it will actually be serialized as anUnmanagedMemoryStream."xml:space="preserve">如果将MemoryStream对象序列化为资源文件,它将被实际序列化为UnmanagedMemoryStream。Streammethods."xml:space="preserve">此行为可以提供更好的性能,并可以提供将指针直接指向数据的功能,而不必使用Stream方法。

示例

下面的代码示例说明如何通过将内存用作备份来读取和写入数据。

C#C++VB
using System;using System.IO;using System.Text;class MemStream{    static void Main()    {        int count;        byte[] byteArray;        char[] charArray;        UnicodeEncoding uniEncoding = new UnicodeEncoding();        // Create the data to write to the stream.        byte[] firstString = uniEncoding.GetBytes(            "Invalid file path characters are: ");        byte[] secondString = uniEncoding.GetBytes(            Path.GetInvalidPathChars());        using(MemoryStream memStream = new MemoryStream(100))        {            // Write the first string to the stream.            memStream.Write(firstString, 0 , firstString.Length);            // Write the second string to the stream, byte by byte.            count = 0;            while(count < secondString.Length)            {                memStream.WriteByte(secondString[count++]);            }            // Write the stream properties to the console.            Console.WriteLine(                "Capacity = {0}, Length = {1}, Position = {2}n",                memStream.Capacity.ToString(),                memStream.Length.ToString(),                memStream.Position.ToString());            // Set the position to the beginning of the stream.            memStream.Seek(0, SeekOrigin.Begin);            // Read the first 20 bytes from the stream.            byteArray = new byte[memStream.Length];            count = memStream.Read(byteArray, 0, 20);            // Read the remaining bytes, byte by byte.            while(count < memStream.Length)            {                byteArray[count++] =                    Convert.ToByte(memStream.ReadByte());            }            // Decode the byte array into a char array            // and write it to the console.            charArray = new char[uniEncoding.GetCharCount(                byteArray, 0, count)];            uniEncoding.GetDecoder().GetChars(                byteArray, 0, count, charArray, 0);            Console.WriteLine(charArray);        }    }}
版本信息

.NET Framework

受以下版本支持:4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8
平台

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2,Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NETFramework 系统要求。线程安全
此类型的任何公共static(在 Visual Basic中为Shared)成员都是线程安全的。但不保证所有实例成员都是线程安全的。请参见

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/97174.html

更多阅读

考公务员需要什么书 女生适合考哪类公务员

考公务员需要什么书——简介公务员考试分为国家公务员考试和地方省考,考公务员需要什么书来学习?推荐国家公务员考试专用教材,以及当地省市的公务员考试专用教材。  而公务员考试笔试科目两科:《申论》和《行政职业能力测验》! 公务

中国好耳朵电视剧类答案大全 看图猜电视剧答案大全

?为了拯救像小编一样对电视剧不感冒的玩家的脑细胞,特此汇总了一些中国好耳朵电视剧类答案,希望能帮助你哦(还有一些正在攻破中......)。中国好耳朵动电视剧类答案大全(仅供参考)二个(两个)字答案越狱 蜗居 奋斗三个字答案老友记 大宅

传奇类网页游戏哪个好玩 手机上哪个斗地主好玩

传奇类网页游戏哪个好玩——简介传奇是角色扮演类游戏,主要职业有战士、法师、道士,游戏中包括了白天、黑夜、贸易、物品等观念,可以通过采矿、打猎等来获得货币,利用货币进行贸易。整个游戏充满了魔力,具有东方色彩。那么最新传奇类网游

类似暗黑2、3的角色动作类ARPG经典单机游戏推荐 暗黑类arpg

类似暗黑2、3的角色动作类ARPG经典单机游戏推荐——简介 喜欢玩有的玩家,肯定对暗黑破坏神2都很熟悉,也曾经倾注无数心血在里面组队,刷装备,后面出来的暗月、魔电版本更增加了他的乐趣。在网上也看到很多朋友搜索有什么类似暗黑2的游戏,

折纸系类 纸飞机的折法 精 纸飞机折纸

折纸不仅可以锻炼一个人的记忆推理能力。也能磨练出良好的心态。关键是折纸是一个能让人放松的事情。这里我带来一个纸飞机的折法。现在的孩子们都上网、打游戏、聊天。不再接触那些上课用笔管吹纸球儿,下课叠纸飞机,用手指射毛人,抡起

声明:《MemoryStream类 memorystream string》为网友佀个废物分享!如侵犯到您的合法权益请联系我们删除