UTF8Encoding.GetMaxCharCount(Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Calcola il numero massimo di caratteri prodotti dalla decodifica del numero specificato di byte.
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
Parametri
- byteCount
- Int32
Numero di byte da decodificare.
Valori restituiti
Numero massimo di caratteri prodotti dalla decodifica del numero specificato di byte.
Eccezioni
byteCount è minore di zero.
oppure
Il numero di byte risultante è maggiore del numero massimo che può essere restituito come numero intero.
Si è verificato un fallback (per altre informazioni, vedere Codifica dei caratteri in .NET)
-e-
DecoderFallback è impostato su DecoderExceptionFallback.
Esempio
Nell'esempio seguente viene utilizzato il GetMaxCharCount metodo per restituire il numero massimo di caratteri prodotti dalla decodifica di un numero specificato di byte.
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
int byteCount = 8;
int maxCharCount = utf8.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = utf8.GetMaxCharCount(byteCount)
Console.WriteLine( _
"Maximum of {0} characters needed to decode {1} bytes.", _
maxCharCount, _
byteCount _
)
End Sub
End Class
Commenti
Per calcolare la dimensione esatta della matrice richiesta da GetChars per archiviare i caratteri risultanti, chiamare il GetCharCount metodo . Per calcolare la dimensione massima della matrice, chiamare il GetMaxCharCount metodo . Il GetCharCount metodo alloca in genere meno memoria, mentre il GetMaxCharCount metodo viene generalmente eseguito più velocemente.
GetMaxCharCount è un numero peggiore, incluso il caso peggiore per l'oggetto attualmente selezionato DecoderFallback. Se viene scelto un fallback con una stringa potenzialmente grande, GetMaxCharCount può restituire valori di grandi dimensioni.
Nella maggior parte dei casi, questo metodo restituisce numeri ragionevoli per stringhe di piccole dimensioni. Per stringhe di grandi dimensioni, potrebbe essere necessario scegliere tra l'uso di buffer molto grandi e l'intercettazione di errori nel raro caso in cui venga superato un buffer più ragionevole. È anche possibile prendere in considerazione un approccio diverso usando GetCharCount o Encoder.Convert.
GetMaxCharCount non ha alcuna relazione con GetBytes. Se l'applicazione necessita di una funzione simile da usare con GetBytes, deve usare GetMaxByteCount.
Note
GetMaxCharCount(N) non è necessariamente lo stesso valore di N* GetMaxCharCount(1).