UnicodeEncoding.GetMaxCharCount(Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Calcula o número máximo de caracteres produzidos ao descodificar o número especificado de bytes.
public:
override int GetMaxCharCount(int byteCount);
public override int GetMaxCharCount(int byteCount);
override this.GetMaxCharCount : int -> int
Public Overrides Function GetMaxCharCount (byteCount As Integer) As Integer
Parâmetros
- byteCount
- Int32
O número de bytes a descodificar.
Devoluções
O número máximo de caracteres produzidos pela decodificação do número especificado de bytes.
Exceções
byteCount é inferior a zero.
-ou-
O número resultante de bytes é maior do que o número máximo que pode ser devolvido como inteiro.
Ocorreu um recurso de recurso (para mais informações, veja Codificação de Caracteres em .NET)
- e -
DecoderFallback está definido como DecoderExceptionFallback.
Exemplos
O exemplo seguinte demonstra como usar o GetMaxCharCount método para devolver o número máximo de caracteres produzidos ao decodificar um determinado número de bytes.
using System;
using System.Text;
class UnicodeEncodingExample {
public static void Main() {
UnicodeEncoding Unicode = new UnicodeEncoding();
int byteCount = 8;
int maxCharCount = Unicode.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UnicodeEncodingExample
Public Shared Sub Main()
Dim uni As New UnicodeEncoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = uni.GetMaxCharCount(byteCount)
Console.WriteLine("Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount)
End Sub
End Class
Observações
Para calcular o tamanho exato do array necessário GetChars para armazenar os caracteres resultantes, a aplicação utiliza GetCharCount. Para calcular o tamanho máximo do array, a aplicação deve usar GetMaxCharCount. O GetCharCount método geralmente aloca menos memória, enquanto o GetMaxCharCount método geralmente executa mais rapidamente.
GetMaxCharCountrecupera um número do pior caso, incluindo o pior caso para o .DecoderFallback Se for escolhido um plano B com uma cadeia potencialmente grande, recupera GetMaxCharCount valores grandes.
Na maioria dos casos, este método recupera números razoáveis para cadeias pequenas. Para cadeias grandes, pode ter de escolher entre usar buffers muito grandes e apanhar erros no raro caso de ultrapassar um buffer mais razoável. Também pode querer considerar uma abordagem diferente usando GetCharCount ou Convert.
GetMaxCharCount não tem relação com GetBytes. Se a sua aplicação precisar de uma função semelhante para usar , GetBytesdeverá usar GetMaxByteCount.
Note
GetMaxCharCount(N) não é necessariamente o mesmo valor que N* GetMaxCharCount(1).