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

Число кодируемых символов.

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

Int32

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

Исключения

Значение параметра charCount меньше нуля.

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

Примеры

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

using namespace System;
using namespace System::Text;
int main()
{
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int charCount = 2;
   int maxByteCount = ascii->GetMaxByteCount( charCount );
   Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
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.

Примечание

GetMaxByteCount(N)не обязательно то же значение, что и N* GetMaxByteCount(1) .

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

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