ASCIIEncoding.GetMaxByteCount(Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Calcula o número máximo de bytes produzidos codificando o número especificado de caracteres.
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
Parâmetros
- charCount
- Int32
O número de caracteres a serem codificados.
Retornos
O número máximo de bytes produzidos pela codificação do número especificado de caracteres.
Exceções
charCount é menor que zero.
-ou-
O número resultante de bytes é maior que o número máximo que pode ser retornado como um inteiro.
Exemplos
O exemplo a seguir demonstra como usar o GetMaxByteCount método para calcular os bytes necessários para codificar um número especificado de caracteres.
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
Comentários
O GetByteCount método calcula o tamanho exato da matriz exigido pelo GetBytes método para armazenar os bytes resultantes, enquanto o GetMaxByteCount método calcula o tamanho máximo da matriz. O GetByteCount método geralmente aloca menos memória, mas o GetMaxByteCount método geralmente é executado mais rapidamente.
GetMaxByteCount é um número pior, incluindo o pior caso para o selecionado no momento EncoderFallback. Se você escolher um fallback de substituição com uma cadeia de caracteres potencialmente grande, GetMaxByteCount poderá retornar valores grandes.
O GetMaxByteCount método considera possíveis substitutos de restos de uma operação de codificação anterior. Como resultado, se o ASCIIEncoding objeto usar o fallback de substituição padrão ou se um fallback de substituição personalizado tiver sido definido com um único caractere de fallback possível, o método retornará charCount + 1. Se o ASCIIEncoding objeto usar um fallback de substituição com mais de um caractere de fallback possível, o método retornará n * (charCount + 1), onde n é o número máximo de caracteres de fallback.
GetMaxByteCount não tem nenhuma relação com GetChars. Se seu aplicativo precisar de uma função semelhante para usar GetChars, ele deverá usar GetMaxCharCount.
Note
GetMaxByteCount(N) não é necessariamente o mesmo valor que N* GetMaxByteCount(1).