ASCIIEncoding.GetMaxByteCount(Int32) Метод

Определение

Вычисляет максимальное количество байтов, созданных путем кодирования указанного числа символов.

public:
 override int GetMaxByteCount(int charCount);
public override int GetMaxByteCount(int charCount);
override this.GetMaxByteCount : int -> int
Public Overrides Function GetMaxByteCount (charCount As Integer) As Integer

Параметры

charCount
Int32

Число символов для кодирования.

Возвращаемое значение

Максимальное количество байтов, созданных путем кодирования указанного числа символов.

Исключения

charCount меньше нуля.

–или–

Результирующее число байтов больше максимального числа, которое может быть возвращено в виде целого числа.

Примеры

В следующем примере показано, как использовать GetMaxByteCount метод для вычисления байтов, необходимых для кодирования указанного количества символов.

using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = 2;
        int maxByteCount = ascii.GetMaxByteCount(charCount);
        Console.WriteLine(
            "Maximum of {0} bytes needed to encode {1} characters.",
            maxByteCount,
            charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = 2
        Dim maxByteCount As Integer = ascii.GetMaxByteCount(charCount)
        Console.WriteLine( _
            "Maximum of {0} bytes needed to encode {1} characters.", _
            maxByteCount, _
            charCount _
        )
    End Sub
End Class

Комментарии

Метод GetByteCount вычисляет точный размер массива, необходимый GetBytes методу для хранения результирующего байта, а GetMaxByteCount метод вычисляет максимальный размер массива. Метод GetByteCount обычно выделяет меньше памяти, но GetMaxByteCount метод обычно выполняется быстрее.

GetMaxByteCount является худшим числом случаев, включая худший случай для выбранного EncoderFallbackв настоящее время. Если выбрать резервную часть замены потенциально большой строкой, GetMaxByteCount можно вернуть большие значения.

Этот GetMaxByteCount метод рассматривает потенциальные суррогатные суррогаты из предыдущей операции кодирования. В результате, если ASCIIEncoding объект использует резервный вариант замены по умолчанию или если пользовательская резервная замена была определена с одним возможным резервным символом, метод возвращает charCount + 1. ASCIIEncoding Если объект использует резервный вариант замены с несколькими возможными резервными символами, метод возвращает n * (charCount + 1), где n — максимальное число резервных символов.

GetMaxByteCount не имеет отношения к GetChars. Если приложению требуется аналогичная функция для использования GetChars, она должна использоваться GetMaxCharCount.

Note

GetMaxByteCount(N) не обязательно совпадает со значением N* GetMaxByteCount(1).

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

См. также раздел