IBinarySerialize.Write(BinaryWriter) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将用户定义的类型 (UDT) 或用户定义的聚合转换为其二进制格式,以便保留。
public:
void Write(System::IO::BinaryWriter ^ w);
public void Write (System.IO.BinaryWriter w);
abstract member Write : System.IO.BinaryWriter -> unit
Public Sub Write (w As BinaryWriter)
参数
UDT 或用户定义聚合所序列化到的 BinaryWriter 流。
示例
以下示例演示 UDT 方法的 Write 实现,该方法使用 BinaryWriter 以用户定义的二进制格式序列化 UDT。 null 字符填充的目的是确保字符串值与双精度值完全分离,以便在 Transact-SQL 代码中将一个 UDT 与另一个 UDT 进行比较,将字符串字节与字符串字节进行比较,将双字节与双字节进行比较。
// The binary layout is as follows:
// Bytes 0 - 19: string text, padded to the right with null characters
// Bytes 20+: Double value
// using Microsoft.SqlServer.Server;
public void Write(System.IO.BinaryWriter w)
{
int maxStringSize = 20;
string stringValue = "The value of PI: ";
string paddedString;
double value = 3.14159;
// Pad the string from the right with null characters.
paddedString = stringValue.PadRight(maxStringSize, '\0');
// Write the string value one byte at a time.
for (int i = 0; i < paddedString.Length; i++)
{
w.Write(paddedString[i]);
}
// Write the double value.
w.Write(value);
}
注解
将足够的信息写入二进制流, Read 以允许方法重建 UDT 或用户定义的聚合。