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