UnicodeEncoding.GetMaxCharCount(Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Calcule le nombre maximal de caractères produits par le décodage du nombre d'octets spécifié.
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 le décodage du nombre d'octets spécifié.
Exceptions
byteCount
est inférieur à zéro.
- ou -
Le nombre d’octets résultant est supérieur au nombre maximal accepté pour un entier.
Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)
-et-
DecoderFallback a la valeur DecoderExceptionFallback.
Exemples
L’exemple suivant montre comment utiliser la GetMaxCharCount méthode pour renvoyer le nombre maximal de caractères générés par le décodage d’un nombre spécifié d’octets.
using namespace System;
using namespace System::Text;
int main()
{
UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
int byteCount = 8;
int maxCharCount = Unicode->GetMaxCharCount( byteCount );
Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
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 par GetChars pour 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.
GetMaxCharCountRécupère un nombre de cas le plus défavorable, y compris le pire cas pour le actuellement sélectionné DecoderFallback . Si un secours est choisi avec une chaîne potentiellement grande, GetMaxCharCount récupère des valeurs élevées.
Dans la plupart des cas, cette méthode récupère des nombres raisonnables pour les chaînes de petite taille. Pour les chaînes volumineuses, vous devrez peut-être choisir entre utiliser des mémoires tampons très volumineuses et 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 de GetCharCount ou de Convert .
GetMaxCharCountn’a aucune relation avec GetBytes . Si votre application a besoin d’une fonction similaire à utiliser avec GetBytes, elle doit utiliser GetMaxByteCount.
Notes
GetMaxCharCount(N)
n’est pas nécessairement la même valeur que N* GetMaxCharCount(1)
.