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

Devoluções

O número máximo de bytes produzidos ao codificar o número especificado de caracteres.

Exceções

charCount é inferior a zero.

-ou-

O número resultante de bytes é maior do que o número máximo que pode ser devolvido como inteiro.

Exemplos

O exemplo seguinte 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

Observações

O GetByteCount método calcula o tamanho exato do array exigido pelo GetBytes método para armazenar os bytes resultantes, enquanto o GetMaxByteCount método calcula o tamanho máximo do array. O GetByteCount método geralmente aloca menos memória, mas GetMaxByteCount geralmente executa mais rapidamente.

GetMaxByteCount é um número do pior caso, incluindo o pior caso para o atualmente selecionado EncoderFallback. Se escolheres um substituto com uma cadeia potencialmente grande, podes GetMaxByteCount devolver valores grandes.

O GetMaxByteCount método considera potenciais substitutos remanescentes de uma operação de codificação anterior. Como resultado, se o ASCIIEncoding objeto usar o recurso de substituição por defeito, ou se um recurso de substituição personalizado tiver sido definido com um único caractere de recurso, o método retorna charCount + 1. Se o ASCIIEncoding objeto usar um recurso de substituição com mais do que um possível carácter de recurso, o método devolve n * (charCount + 1), onde n é o número máximo de caracteres de recurso.

GetMaxByteCount não tem relação com GetChars. Se a sua aplicação precisar de uma função semelhante para usar , GetCharsdeverá usar GetMaxCharCount.

Note

GetMaxByteCount(N) não é necessariamente o mesmo valor que N* GetMaxByteCount(1).

Aplica-se a

Ver também