ASCIIEncoding.GetMaxByteCount(Int32) Método

Definição

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

Aplica-se a

Confira também