Condividi tramite


ASCIIEncoding.GetMaxByteCount(Int32) Metodo

Definizione

Calcola il numero massimo di byte prodotti dalla codifica del numero di caratteri specificato.

public:
 override int GetMaxByteCount(int charCount);
public override int GetMaxByteCount (int charCount);
override this.GetMaxByteCount : int -> int
Public Overrides Function GetMaxByteCount (charCount As Integer) As Integer

Parametri

charCount
Int32

Numero di caratteri da codificare.

Restituisce

Int32

Numero massimo di byte prodotti dalla codifica del numero di caratteri specificato.

Eccezioni

charCount è minore di zero.

-oppure- Il numero di byte ottenuto è maggiore del numero massimo che può essere restituito come valore integer.

Esempio

Nell'esempio seguente viene illustrato come usare il GetMaxByteCount metodo per calcolare i byte necessari per codificare un numero specificato di caratteri.

using namespace System;
using namespace System::Text;
int main()
{
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int charCount = 2;
   int maxByteCount = ascii->GetMaxByteCount( charCount );
   Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = 2;
        int maxByteCount = ascii.GetMaxByteCount(charCount);
        Console.WriteLine(
            "Maximum of {0} bytes needed to encode {1} characters.",
            maxByteCount,
            charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = 2
        Dim maxByteCount As Integer = ascii.GetMaxByteCount(charCount)
        Console.WriteLine( _
            "Maximum of {0} bytes needed to encode {1} characters.", _
            maxByteCount, _
            charCount _
        )
    End Sub
End Class

Commenti

Il GetByteCount metodo calcola le dimensioni esatte della matrice richieste dal GetBytes metodo per archiviare i byte risultanti, mentre il GetMaxByteCount metodo calcola le dimensioni massime della matrice. Il GetByteCount metodo in genere alloca meno memoria, ma il GetMaxByteCount metodo esegue in genere più velocemente.

GetMaxByteCount è un numero di case peggiore, incluso il peggiore caso per l'oggetto attualmente selezionato EncoderFallback. Se si sceglie un fallback sostitutivo con una stringa potenzialmente di grandi dimensioni, GetMaxByteCount può restituire valori di grandi dimensioni.

Il GetMaxByteCount metodo considera i potenziali surrogati di sinistra da un'operazione di codifica precedente. Di conseguenza, se l'oggetto usa il ASCIIEncoding fallback di sostituzione predefinito o se è stato definito un fallback di sostituzione personalizzato con un singolo carattere di fallback, il metodo restituisce charCount + 1. Se l'oggetto ASCIIEncoding usa un fallback sostitutivo con più di un possibile carattere di fallback, il metodo restituisce n * (charCount + 1), dove n è il numero massimo di caratteri di fallback.

GetMaxByteCountnon ha alcuna relazione con GetChars . Se l'applicazione necessita di una funzione simile da usare con GetChars, deve usare GetMaxCharCount.

Nota

GetMaxByteCount(N)non è necessariamente lo stesso valore di N* GetMaxByteCount(1) .

Si applica a

Vedi anche