UnicodeEncoding.GetMaxCharCount(Int32) Méthode

Définition

Calcule le nombre maximal de caractères produits par décodage du nombre spécifié d’octets.

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

Paramètres

byteCount
Int32

Nombre d’octets à décoder.

Retours

Nombre maximal de caractères produits par décodage du nombre spécifié d’octets.

Exceptions

byteCount est inférieur à zéro.

-ou-

Le nombre d’octets obtenu est supérieur au nombre maximal qui peut être retourné sous forme d’entier.

Un secours s’est produit (pour plus d’informations, consultez Encodage de caractères dans .NET)

-et-

DecoderFallback a la valeur DecoderExceptionFallback.

Exemples

L’exemple suivant montre comment utiliser la GetMaxCharCount méthode pour retourner le nombre maximal de caractères produits par le décodage d’un nombre spécifié d’octets.

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

Remarques

Pour calculer la taille exacte du tableau requise pour GetChars stocker les caractères résultants, l’application utilise GetCharCount. Pour calculer la taille maximale du tableau, l’application doit utiliser GetMaxCharCount. La GetCharCount méthode alloue généralement moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.

GetMaxCharCount récupère un nombre de pires cas, y compris le pire cas pour le moment sélectionné DecoderFallback. Si un secours est choisi avec une chaîne potentiellement volumineuse, GetMaxCharCount récupère de grandes valeurs.

Dans la plupart des cas, cette méthode récupère des nombres raisonnables pour les petites chaînes. Pour les chaînes volumineuses, vous devrez peut-être choisir d’utiliser des mémoires tampons très volumineuses et d’intercepter des erreurs dans les rares cas où une mémoire tampon plus raisonnable est dépassée. Vous pouvez également envisager une approche différente à l’aide GetCharCount ou Convert.

GetMaxCharCount n’a aucune relation avec GetBytes. Si votre application a besoin d’une fonction similaire à utiliser avec GetBytes, elle doit utiliser GetMaxByteCount.

Note

GetMaxCharCount(N) n’est pas nécessairement la même valeur que N* GetMaxCharCount(1).

S’applique à

Voir aussi