一款简单易用的基础网络通讯组件库。

BytesReader 结构

注意:此 API 现在已过时。
字节块流

Definition

命名空间: TouchSocket.Core
程序集: TouchSocket.Core (在 TouchSocket.Core.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
public ref struct BytesReader
Inheritance
Object    ValueType    BytesReader

构造函数

BytesReader 初始化 BytesReader 类的新实例。

属性

CanReadLength 还能读取的长度,计算为LengthPosition的差值。
Length 获取当前实例的长度。
Position 流位置
Span 获取当前实例的只读字节序列视图。

方法

EqualsIndicates whether this instance and a specified object are equal.
(继承自 ValueType。)
GetHashCodeReturns the hash code for this instance.
(继承自 ValueType。)
GetTypeGets the Type of the current instance.
(继承自 Object。)
Read 从当前流中读取数据到指定的字节 span 中。
ReadBoolean 从当前流位置读取1个Boolean
ReadBooleans 从当前流位置读取1个字节,按位解析为bool值数组。
ReadByte 从当前流位置读取一个Byte
ReadByteBlock 从当前流位置读取一个ByteBlock值。

注意,使用该方式读取到的内存块,会脱离释放周期,所以最好在使用完成后自行释放。

ReadBytesPackage 从当前流位置读取一个独立的Byte数组包
ReadBytesPackageMemory 从当前的字节流中读取一个长度确定的字节包。
ReadChar 从当前流位置读取一个默认端序的Char
ReadChar(EndianType) 从当前流位置读取一个Char
ReadDateTime 从当前流位置读取一个DateTime
ReadDecimal 从当前流位置读取一个默认端序的Decimal
ReadDecimal(EndianType) 从当前流位置读取一个Decimal
ReadDouble 从当前流位置读取一个默认端序的Double
ReadDouble(EndianType) 从当前流位置读取一个Double
ReadFloat 从当前流位置读取一个默认端序的Single
ReadFloat(EndianType) 从当前流位置读取一个Single
ReadInt16 从当前流位置读取一个默认端序的Int16
ReadInt16(EndianType) 从当前流位置读取一个Int16
ReadInt32 从当前的输入流中读取一个32位整数。
ReadInt32(EndianType) 从当前流位置读取一个指定端序的Int32
ReadInt64 从当前流位置读取一个默认端序的Int64
ReadInt64(EndianType) 从当前流位置读取一个Int64
ReadIsNull 从当前流位置读取一个标识值,判断是否为null。
ReadString 从当前流位置读取一个String
ReadTimeSpan 从当前流位置读取一个TimeSpan
ReadToSpan 从当前位置读取指定长度的数组。并递增Position
ReadUInt16 从当前流位置读取一个默认端序的UInt16
ReadUInt16(EndianType) 从当前流位置读取一个UInt16
ReadUInt32 从当前流位置读取一个默认端序的UInt32
ReadUInt32(EndianType) 从当前流位置读取一个UInt32
ReadUInt64 从当前流位置读取一个默认端序的UInt64
ReadUInt64(EndianType) 从当前流位置读取一个UInt64
ReadVarUInt32 从当前的字节序列位置开始读取一个使用可变长度编码的无符号32位整数。
Seek(Int32) 移动游标
Seek(Int32, SeekOrigin) 设置流位置
SeekToEnd 设置游标到末位
SeekToStart 设置游标到首位
ToArray 转换为有效内存。本操作不递增Position
ToArray(Int32) 从指定位置转为有效内存。本操作不递增Position
ToArray(Int32, Int32) 从指定位置转化到指定长度的有效内存。本操作不递增Position
ToArrayTake 将当前Position至有效长度转化为有效内存。本操作不递增Position
ToArrayTake(Int32) 将当前Position至指定长度转化为有效内存。本操作不递增Position
ToBoolensFromBit 将当前有效内存按位转为Boolean集合。
ToBoolensFromByte 将当前有效内存按字节转为Boolean集合。
ToChars 将当前有效内存转为默认端序的Char集合。
ToChars(EndianType) 将当前有效内存转为指定端序的Char集合。
ToDateTimes 将当前有效内存转为DateTime集合。
ToDecimals 将当前有效内存转为默认端序的Decimal集合。
ToDecimals(EndianType) 将当前有效内存转为指定端序的Decimal集合。
ToDoubles 将当前有效内存转为默认端序的Double集合。
ToDoubles(EndianType) 将当前有效内存转为指定端序的Double集合。
ToFloats 将当前有效内存转为默认端序的Single集合。
ToFloats(EndianType) 将当前有效内存转为指定端序的Single集合。
ToInt16s 将当前有效内存转为默认端序的Int16集合。
ToInt16s(EndianType) 将当前有效内存转为指定端序的Int16集合。
ToInt32s 将当前有效内存转为默认端序的Int32集合。
ToInt32s(EndianType) 将当前有效内存转为指定端序的Int32集合。
ToInt64s 将当前有效内存转为默认端序的Int64集合。
ToInt64s(EndianType) 将当前有效内存转为指定端序的Int64集合。
ToStringReturns the fully qualified type name of this instance.
(继承自 ValueType。)
ToTimeSpans 将当前有效内存转为TimeSpan集合。
ToUInt16s 将当前有效内存转为默认端序的UInt16集合。
ToUInt16s(EndianType) 将当前有效内存转为指定端序的UInt16集合。
ToUInt32s 将当前有效内存转为默认端序的UInt32集合。
ToUInt32s(EndianType) 将当前有效内存转为指定端序的UInt32集合。
ToUInt64s 将当前有效内存转为默认端序的UInt64集合。
ToUInt64s(EndianType) 将当前有效内存转为指定端序的UInt64集合。

扩展方法

Map
(由 Mapper 定义。)
Map
(由 Mapper 定义。)
MapTTarget
(由 Mapper 定义。)
ToJsonString 转换为Json
(由 SerializeConvert 定义。)

参见