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 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)
.