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

ValueByteBlock 结构

字节块流

Definition

命名空间: TouchSocket.Core
程序集: TouchSocket.Core (在 TouchSocket.Core.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
public struct ValueByteBlock : IByteBlock, 
	IDisposable, IBufferWriter<byte>, IEquatable<ValueByteBlock>
Inheritance
Object    ValueType    ValueByteBlock
Implements
IBufferWriterByte, IDisposable, IEquatableValueByteBlock, IByteBlock

构造函数

ValueByteBlock(Byte) 初始化 ValueByteBlock 类的新实例,使用现有的字节数组,并使用整个数组的长度。
ValueByteBlock(Int32) 初始化 ValueByteBlock 类的新实例,从默认字节池租用指定大小的字节。
ValueByteBlock(Byte, Int32) 初始化 ValueByteBlock 类的新实例,使用现有的字节数组。
ValueByteBlock(Int32, BytePool) 初始化 ValueByteBlock 类的新实例,从指定的字节池租用指定大小的字节。

属性

BytePool 获取字节池。
CanRead 获取是否可以读取。
CanReadLength 获取可以读取的长度。
Capacity 获取容量。
Empty 
FreeLength 获取空闲长度。
Holding 获取是否持有数据。
IsEmpty 
IsStruct 获取是否为结构类型。
Item 获取或设置指定索引处的字节。
Length 获取长度。
Memory 获取只读内存。
Position 获取或设置位置。
Span 获取只读字节跨度。
TotalMemory 获取总内存。
Using 获取是否正在使用。

方法

AdvanceNotifies the IBufferWriterT that count data items were written to the output SpanT or MemoryT.
Clear 清空当前数据结构中的所有数据。
DisposePerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Equals(Object)Indicates whether this instance and a specified object are equal.
(继承自 ValueType。)
Equals(ValueByteBlock)Indicates whether the current object is equal to another object of the same type.
GetHashCodeReturns the hash code for this instance.
(继承自 ValueType。)
GetMemoryReturns a MemoryT to write to that is at least the requested size (specified by sizeHint).
GetSpanReturns a SpanT to write to that is at least the requested size (specified by sizeHint).
GetTypeGets the Type of the current instance.
(继承自 Object。)
Read 从数据源读取字节并将其写入指定的字节范围。
ReadBoolean 读取一个布尔值。
ReadBooleans 读取一个布尔值数组。
ReadByte 读取一个字节。
ReadByteBlock 读取一个字节块。
ReadBytesPackage 读取字节流数据包。
ReadBytesPackageMemory 读取字节流数据包为只读内存。
ReadChar 从输入流中读取一个字符。
ReadChar(EndianType) 根据指定的字节序从输入流中读取一个字符。
ReadDateTime 读取一个DateTime值。
ReadDecimal 读取一个字节序列并将其转换为十进制数。
ReadDecimal(EndianType) 根据指定的字节序读取一个字节序列并将其转换为十进制数。
ReadDouble 读取一个双精度浮点数。
ReadDouble(EndianType) 按指定字节序读取一个双精度浮点数。
ReadFloat 读取一个浮点数。
ReadFloat(EndianType) 按指定的字节序读取一个浮点数。
ReadGuid 读取一个全局唯一标识符(GUID)。
ReadInt16 读取一个Int16类型的数据,使用默认的字节序。
ReadInt16(EndianType) 按指定字节序读取一个Int16类型的数据。
ReadInt32 读取一个32位整数。
ReadInt32(EndianType) 按指定的字节序读取一个32位整数。
ReadInt64 读取一个 Int64 类型的值。
ReadInt64(EndianType) 按指定的字节序读取一个 Int64 类型的值。
ReadIsNull 读取是否为null。
ReadPackageTPackage 读取指定类型的包装对象。
ReadString 读取一个字符串。
ReadTimeSpan 读取一个时间间隔。
ReadToSpan 将指定长度的数据读取到只读字节跨度中。
ReadUInt16 读取一个无符号16位整数。
ReadUInt16(EndianType) 根据指定的字节顺序读取一个无符号16位整数。
ReadUInt32 读取一个无符号32位整数,使用默认的大端字节序。
ReadUInt32(EndianType) 按指定的字节序读取一个无符号32位整数。
ReadUInt64 读取一个无符号64位整数。
ReadUInt64(EndianType) 按指定字节序读取一个无符号64位整数。
ReadVarUInt32 读取一个变量长度的无符号32位整数。
Reset 重置当前对象的状态到初始状态。
Seek(Int32) 将流定位到指定位置。
Seek(Int32, SeekOrigin) 将流定位到相对于指定起始点的偏移位置。
SeekToEnd 将流定位到末尾位置。
SeekToStart 将流定位到起始位置。
SetCapacity 设置当前对象的容量。
SetHolding 设置当前对象是否处于持有状态。
SetLength 设置当前对象的长度。
ToBoolensFromBit 从位数据中转换为布尔值集合。
ToBoolensFromByte 从字节数据中转换为布尔值集合。
ToChars 从输入流中读取一系列字符。
ToChars(EndianType) 根据指定的字节序从输入流中读取一系列字符。
ToDateTimes 将当前实例转换为一系列的DateTime值。
ToDecimals 将一系列字节序列转换为十进制数的集合。
ToDecimals(EndianType) 根据指定的字节序将一系列字节序列转换为十进制数的集合。
ToDoubles 读取一系列双精度浮点数。
ToDoubles(EndianType) 按指定字节序读取一系列双精度浮点数。
ToFloats 读取一系列浮点数。
ToFloats(EndianType) 按指定的字节序读取一系列浮点数。
ToInt16s 读取一系列Int16类型的数据,使用默认的字节序。
ToInt16s(EndianType) 按指定字节序读取一系列Int16类型的数据。
ToInt32s 读取一系列32位整数。
ToInt32s(EndianType) 按指定的字节序读取一系列32位整数。
ToInt64s 将当前对象转换为一系列 Int64 类型的值。
ToInt64s(EndianType) 按指定的字节序将当前对象转换为一系列 Int64 类型的值。
ToStringReturns the fully qualified type name of this instance.
(重写 ValueTypeToString)
ToString(Int32) 将当前实例从指定位置转换为字符串表示形式。
ToString(Int32, Int32) 将当前实例从指定位置开始,并在指定长度内转换为字符串表示形式。
ToTimeSpans 将当前对象转换为一系列时间间隔。
ToUInt16s 将输入流中的数据全部转换为无符号16位整数的集合。
ToUInt16s(EndianType) 根据指定的字节顺序,将输入流中的数据全部转换为无符号16位整数的集合。
ToUInt32s 将输入的数据流转换为一系列无符号32位整数,使用默认的大端字节序。
ToUInt32s(EndianType) 按指定的字节序将输入的数据流转换为一系列无符号32位整数。
ToUInt64s 将输入流中的数据全部转换为无符号64位整数的集合。
ToUInt64s(EndianType) 按指定字节序将输入流中的数据全部转换为无符号64位整数的集合。
Write 将指定的字节序列写入到当前内存的Position处。
WriteBoolean 写入一个布尔值。
WriteBooleans 写入一个布尔值数组。
WriteByte 写入一个字节。
WriteByteBlock 写入一个字节块。
WriteBytesPackage(Byte) 写入字节流数据包。
WriteBytesPackage(Byte, Int32, Int32) 从指定偏移量开始写入指定长度的字节流数据包。
WriteChar(Char) 向输出流写入一个字符。
WriteChar(Char, EndianType) 根据指定的字节序向输出流写入一个字符。
WriteDateTime 写入一个DateTime值。
WriteDecimal(Decimal) 将一个十进制数转换为字节序列并写入。
WriteDecimal(Decimal, EndianType) 根据指定的字节序将一个十进制数转换为字节序列并写入。
WriteDouble(Double) 写入一个双精度浮点数。
WriteDouble(Double, EndianType) 按指定字节序写入一个双精度浮点数。
WriteFloat(Single) 写入一个浮点数。
WriteFloat(Single, EndianType) 按指定的字节序写入一个浮点数。
WriteGuid 
WriteInt16(Int16) 写入一个Int16类型的数据,使用默认的字节序。
WriteInt16(Int16, EndianType) 按指定字节序写入一个Int16类型的数据。
WriteInt32(Int32) 写入一个32位整数。
WriteInt32(Int32, EndianType) 按指定的字节序写入一个32位整数。
WriteInt64(Int64) 写入一个 Int64 类型的值。
WriteInt64(Int64, EndianType) 按指定的字节序写入一个 Int64 类型的值。
WriteIsNullT(NullableT) 写入一个可能为null的值,并标记该值是否为null。
WriteIsNullT(T) 写入一个值,并标记该值是否为null。
WriteNotNull 写入一个非null的标记。
WriteNull 写入一个null的标记。
WritePackageTPackage 写入指定类型的包装对象。
WriteString 写入一个字符串。
WriteTimeSpan 写入一个时间间隔。
WriteUInt16(UInt16) 写入一个无符号16位整数。
WriteUInt16(UInt16, EndianType) 根据指定的字节顺序写入一个无符号16位整数。
WriteUInt32(UInt32) 将无符号32位整数写入输出流,使用默认的大端字节序。
WriteUInt32(UInt32, EndianType) 按指定的字节序将无符号32位整数写入输出流。
WriteUInt64(UInt64) 写入一个无符号64位整数。
WriteUInt64(UInt64, EndianType) 按指定字节序写入一个无符号64位整数。
WriteVarUInt32 写入一个变量长度的无符号32位整数。

扩展方法

AsByteBlock 将值类型的字节块转换为普通的字节块。
(由 ByteBlockExtension 定义。)
Map
(由 Mapper 定义。)
Map
(由 Mapper 定义。)
MapTTarget
(由 Mapper 定义。)
SafeDispose 安全性释放(不用判断对象是否为空)。不会抛出任何异常。
(由 SystemExtension 定义。)
ToJsonString 转换为Json
(由 SerializeConvert 定义。)

显式接口实现

IByteBlockWriteGuid 写入一个全局唯一标识符(GUID)。

参见