Partilhar via


CborWriter.WriteStartMap(Nullable<Int32>) Método

Definição

Grava o início de um mapa de comprimento definido ou indefinido (tipo principal 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))

Parâmetros

definiteLength
Nullable<Int32>

O comprimento do mapa de comprimento definido ou null para um mapa de comprimento indefinido.

Exceções

O parâmetro definiteLength não pode ser negativo.

Gravar um novo valor excede o comprimento definido do item de dados pai.

- ou -

O tipo principal do valor codificado não é permitido no item de dados pai.

- ou -

Os dados gravados não são aceitos no modo de conformidade atual.

Comentários

Em modos de conformidade canônica, o gravador rejeitará gravações de comprimento indefinido, a menos que o ConvertIndefiniteLengthEncodings sinalizador esteja habilitado. O conteúdo do mapa é gravado como se as matrizes duas vezes o comprimento do tamanho declarado do mapa. Por exemplo, um mapa de tamanho 1 que contém uma chave do tipo Int32 com um valor de cadeia de caracteres de tipo deve ser gravado por chamadas sucessivas para WriteInt32(Int32) e WriteTextString(ReadOnlySpan<Char>). Cabe ao chamador controlar se a próxima chamada é uma chave ou um valor. Fundamentalmente, essa é uma restrição técnica decorrente do fato de que o CBOR permite chaves de qualquer tipo, por exemplo, um mapa pode conter chaves que são mapas em si.

Aplica-se a