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 pela codificação do número de caracteres especificado.
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 ser codificado.
Retornos
O número máximo de bytes produzidos pela codificação do número de caracteres especificado.
Exceções
charCount
é menor que zero.
- ou -
O número de bytes resultante é 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 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
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 de pior caso, incluindo o pior caso para o selecionado EncoderFallbackno momento. 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 restantes 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), em que n é o número máximo de caracteres de fallback.
GetMaxByteCountNão tem relação com GetChars . Se o aplicativo precisar de uma função semelhante para usar com GetChars, ele deverá usar GetMaxCharCount.
Observação
GetMaxByteCount(N)
Não é necessariamente o mesmo valor que N* GetMaxByteCount(1)
.