ASCIIEncoding.GetMaxByteCount(Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Oblicza maksymalną liczbę bajtów generowanych przez kodowanie określonej liczby znaków.
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
Parametry
- charCount
- Int32
Liczba znaków do zakodowania.
Zwraca
Maksymalna liczba bajtów generowanych przez kodowanie określonej liczby znaków.
Wyjątki
Parametr charCount
ma wartość niższą niż zero.
-lub- Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.
Przykłady
W poniższym przykładzie pokazano, jak użyć GetMaxByteCount metody do obliczenia bajtów wymaganych do zakodowania określonej liczby znaków.
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
Uwagi
Metoda GetByteCount oblicza dokładny rozmiar tablicy wymagany przez GetBytes metodę do przechowywania wynikowych bajtów, natomiast GetMaxByteCount metoda oblicza maksymalny rozmiar tablicy. Metoda GetByteCount zwykle przydziela mniej pamięci, ale GetMaxByteCount metoda zwykle wykonuje się szybciej.
GetMaxByteCount jest numerem najgorszej wielkości liter, w tym najgorszym przypadkiem dla aktualnie wybranego EncoderFallbackelementu . Jeśli wybierzesz rezerwową zamianę z potencjalnie dużym ciągiem, GetMaxByteCount może zwrócić duże wartości.
Metoda GetMaxByteCount uwzględnia potencjalne zastępcze resztki z poprzedniej operacji kodowania. W związku z tym, jeśli ASCIIEncoding obiekt używa domyślnego rezerwowego zastąpienia lub jeśli niestandardowy rezerwowy zamiana została zdefiniowana z pojedynczym możliwym znakiem rezerwowym, metoda zwraca charCount
wartość + 1. ASCIIEncoding Jeśli obiekt używa zastępczego rezerwowego z więcej niż jednym możliwym znakiem rezerwowym, metoda zwraca n * (charCount
+ 1), gdzie n jest maksymalną liczbą znaków rezerwowych.
GetMaxByteCountnie ma relacji z .GetChars Jeśli aplikacja potrzebuje podobnej funkcji do użycia z usługą GetChars, powinna używać polecenia GetMaxCharCount.
Uwaga
GetMaxByteCount(N)
nie musi być tą samą wartością co N* GetMaxByteCount(1)
.