MemoryStream类——c#

2 篇文章 0 订阅

在学习unity的途中,有对网络编程的需求,所以我就去搞unity网络编程了,我认为编程中,当属网络和文件是最难的。
在看一篇博客的时候,刚刚开头就碰到了memorystream类,去百度了一下,发现它继承与stream类(流),它的兄弟,也就是同样由stream派生的子类,有filestream、BufferedStream等,看来不是个简单的东西,所以为了避免忘记,特地写了一篇文章。
1.它的功能,读写内存,属于底层内存读写,速度快!memorystream处理的单位是字节
2.重要方法:
继承自stream,自然有最基本的方法。

1、Read():读取MemoryStream流对象,将值写入缓存区。
    *mmstream.Read(byte[] buffer,offset,count)* 
    offset 开始位置【标号】 count 数量
2、ReadByte():从MemoryStream流中读取一个字节。
    每读一次指针位置加一
3、Write():将值从缓存区写入MemoryStream流对象。
    *mmstream.Read(byte[] buffer,offset,count)*
4、WriteByte():从缓存区写入MemoytStream流对象一个字节。
    每写一次指针位置加一


Tip:a case
using 关键字有两个主要用途:
**1**、作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。
例如:
using System; 
**2、**作为语句,用于定义一个范围,在此范围的末尾将释放对象。
using(Connection conn=new Connection(connStr))  
{  
}  
//使用using关键字可及时销毁对象 

Seek(int len, SeekOrigin soc)
设置指针位置 len 偏移 
使用后指针位置为 len + SeekOrigin.?(SeekOrigin是一个枚举类,有元素 Begin(开始 0)Current (当前位置) End(结尾 长度))
属性
MemoryStream.Capacity 属性 取得或设定配置给这个资料流的位元组数目。配置的长度,总长度
MemoryStream.Position 属性 指定当前流的位置。
MemoryStream.Length 属性获取用字节表示的流长度。 已有数据的长度

3.构造方法

        MemoryStream(Int32)   //构造一个具有指定长度的
        MemoryStream()    //使用初始化为零的可扩展容量初始化 MemoryStream 类的新实例。
        MemoryStream(Byte[]) //基于指定的字节数组初始化 MemoryStream 类的无法调整大小的新实例。
        MemoryStream(Byte[], Boolean) //在 **CanWrite** 属性按指定设置的状态下,基于指定的字节数组初始化 MemoryStream 类的无法调整大小的新实例。
        boolean参数 CanWrite 属性的设置,确定该流是否支持写入。


        Tip:CanWrite 
    属性
名称  说明
    CanRead 
获取一个值,该值指示当前流是否支持读取。(覆盖 Stream.CanRead。)
    CanSeek 
获取一个值,该值指示当前流是否支持查找。(覆盖 Stream.CanSeek。)
    CanTimeout  
获取一个值,该值确定当前流是否可以超时。(继承自 Stream。)
    CanWrite    
获取一个值,该值指示当前流是否支持写入。(覆盖 Stream.CanWrite。)
    Capacity    
获取或设置分配给该流的字节数。
    Length  
获取流的长度(以字节为单位)。(覆盖 Stream.Length。)
    Position    
获取或设置流中的当前位置。(覆盖 Stream.Position。)
    ReadTimeout 
获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。(继承自 Stream。)
    WriteTimeout    
获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。(继承自 Stream。)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值