Поделиться через


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, содержащая ключ типа Int32 со значением типа string, должна быть записана путем последовательных вызовов WriteInt32(Int32) и WriteTextString(ReadOnlySpan<Char>). Вызывающий объект определяет, является ли следующий вызов ключом или значением. По сути, это техническое ограничение, проистекающее из того факта, что CBOR разрешает ключи любого типа, например, карта может содержать ключи, которые сами являются картами.

Применяется к