ASCIIEncoding.GetMaxByteCount(Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Beräknar det maximala antalet byte som genereras genom kodning av det angivna antalet tecken.
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
Parametrar
- charCount
- Int32
Antalet tecken som ska kodas.
Returer
Det maximala antalet byte som genereras genom kodning av det angivna antalet tecken.
Undantag
charCount är mindre än noll.
-eller-
Det resulterande antalet byte är större än det maximala antalet som kan returneras som ett heltal.
Exempel
I följande exempel visas hur du använder GetMaxByteCount metoden för att beräkna de byte som krävs för att koda ett angivet antal tecken.
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
Kommentarer
Metoden GetByteCount beräknar den exakta matrisstorlek som GetBytes krävs av metoden för att lagra resulterande byte, medan GetMaxByteCount metoden beräknar den maximala matrisstorleken. Metoden GetByteCount allokerar vanligtvis mindre minne, men GetMaxByteCount metoden körs vanligtvis snabbare.
GetMaxByteCount är ett sämsta fall-tal, inklusive det värsta fallet för den valda EncoderFallback. Om du väljer en ersättningsåterställning med en potentiellt stor sträng kan GetMaxByteCount du returnera stora värden.
Metoden GetMaxByteCount tar hänsyn till potentiella överblivna surrogater från en tidigare kodningsåtgärd.
ASCIIEncoding Därför returnerar charCount metoden + 1 om objektet använder standardåterställningsåterställningen eller om en anpassad reserv för ersättning har definierats med ett enda möjligt reservtecken.
ASCIIEncoding Om objektet använder en ersättningsåterställning med mer än ett möjligt reservtecken returnerar metoden n * (charCount + 1), där n är det maximala antalet reservtecken.
GetMaxByteCount har ingen relation till GetChars. Om programmet behöver en liknande funktion som ska användas med GetCharsska det använda GetMaxCharCount.
Note
GetMaxByteCount(N) är inte nödvändigtvis samma värde som N* GetMaxByteCount(1).