CborWriter.WriteStartMap(Nullable<Int32>) 方法

定义

写入确定或不确定长度的地图(主要类型 5)的开头。

public:
 void WriteStartMap(Nullable<int> definiteLength);
public void WriteStartMap (int? definiteLength);
member this.WriteStartMap : Nullable<int> -> unit
Public Sub WriteStartMap (definiteLength As Nullable(Of Integer))

参数

definiteLength
Nullable<Int32>

确定长度的地图的长度;或对于不确定长度的地图,则为 null

例外

definiteLength 参数不得为负。

写入新值超过了父数据项的确定长度。

父数据项中不允许使用已编码值的主要类型。

在当前一致性模式下,写入的数据不被接受。

注解

在规范一致性模式下,除非启用了标志,否则 ConvertIndefiniteLengthEncodings 编写器将拒绝无限期写入。 映射内容编写为数组长度是地图声明大小的两倍。 例如,大小 1 的映射必须通过对 和 WriteTextString(ReadOnlySpan<Char>)Int32连续调用WriteInt32(Int32)来编写包含字符串类型的键。 由调用方来跟踪下一次调用是键还是值。 从根本上讲,这是一个技术限制,源于 CBOR 允许任何类型的密钥,例如,映射可以包含映射本身的键。

适用于