UnicodeEncoding.GetMaxCharCount, méthode
Mise à jour : novembre 2007
Calcule le nombre maximal de caractères produits par le décodage du nombre d'octets spécifié.
Assembly : mscorlib (dans mscorlib.dll)
public int GetMaxCharCount( int byteCount )
public override function GetMaxCharCount( byteCount : int ) : int
Paramètres
- byteCount
- Type : System.Int32
Nombre d'octets à décoder.
Valeur de retour
Type : System.Int32Nombre maximal de caractères produits par le décodage du nombre d'octets spécifié.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | byteCount est inférieur à zéro. - ou - Le nombre d'octets obtenu est supérieur au nombre maximal qui peut être retourné sous la forme d'un entier. |
| DecoderFallbackException | Un secours s'est produit (consultez Fonctionnement des codages pour obtenir une explication plus complète) – et – DecoderFallback a la valeur DecoderExceptionFallback. |
Pour calculer la taille exacte de tableau requise par GetChars pour stocker les caractères obtenus, l'application utilise GetCharCount. Pour calculer la taille de tableau maximale, l'application doit utiliser GetMaxCharCount. En règle générale, la méthode GetCharCount vous permet d'utiliser moins de mémoire, alors que la méthode GetMaxCharCount s'exécute plus vite.
GetMaxCharCount extrait un nombre pour le cas le plus défavorable, y compris le cas le plus défavorable pour le DecoderFallback actuellement sélectionné. Si un secours est choisi avec une chaîne potentiellement grande, GetMaxCharCount extrait alors des valeurs élevées.
Dans la plupart des cas, cette méthode extrait des nombres raisonnables pour les chaînes de petite taille. Pour les grandes chaînes, vous aurez peut-être à choisir entre l'utilisation de mémoires tampons de grande taille et l'interception d'erreurs dans les rares cas où une taille de mémoire tampon plus raisonnable est dépassée. Vous pouvez également souhaiter considérer une approche différente à l'aide de GetCharCount ou Convert.
GetMaxCharCount n'a aucune relation avec GetBytes(Byte[]). Si votre application a besoin d'une fonction semblable à utiliser avec GetBytes(Byte[]), elle doit utiliser GetMaxByteCount.
Remarque : |
|---|
GetMaxCharCount(N) n'a pas nécessairement la même valeur que N* GetMaxCharCount(1). |
L'exemple de code suivant illustre l'utilisation de la méthode GetMaxCharCount 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 ); } }
import System.*;
import System.Text.*;
class UnicodeEncodingExample
{
public static void main(String[] args)
{
UnicodeEncoding unicode = new UnicodeEncoding();
int byteCount = 8;
int maxCharCount = unicode.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
String.valueOf(maxCharCount), String.valueOf(byteCount));
} //main
} //UnicodeEncodingExample
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque :