UTF8Encoding.GetMaxCharCount(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 tecken som genereras genom avkodning av det angivna antalet 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
Parametrar
- byteCount
- Int32
Antalet byte som ska avkodas.
Returer
Det maximala antalet tecken som genereras genom avkodning av det angivna antalet byte.
Undantag
byteCount är mindre än noll.
-eller-
Det resulterande antalet byte är större än det maximala antalet som kan returneras som ett heltal.
En reserv inträffade (mer information finns i Character Encoding i .NET)
-och-
DecoderFallback är inställt på DecoderExceptionFallback.
Exempel
I följande exempel används GetMaxCharCount metoden för att returnera det maximala antalet tecken som genereras genom avkodning av ett angivet antal 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
Kommentarer
Om du vill beräkna den exakta matrisstorlek som krävs för GetChars att lagra de resulterande tecknen anropar GetCharCount du metoden. Om du vill beräkna den maximala matrisstorleken GetMaxCharCount anropar du metoden. Metoden GetCharCount allokerar vanligtvis mindre minne, medan GetMaxCharCount metoden vanligtvis körs snabbare.
GetMaxCharCount är ett sämsta fall-tal, inklusive det värsta fallet för den valda DecoderFallback. Om en återställning väljs med en potentiellt stor sträng kan GetMaxCharCount du returnera stora värden.
I de flesta fall returnerar den här metoden rimliga tal för små strängar. För stora strängar kan du behöva välja mellan att använda mycket stora buffertar och fånga fel i det sällsynta fallet att en mer rimlig buffert överskrids. Du kanske också vill överväga en annan metod med eller GetCharCountEncoder.Convert.
GetMaxCharCount har ingen relation till GetBytes. Om programmet behöver en liknande funktion som ska användas med GetBytesska det använda GetMaxByteCount.
Note
GetMaxCharCount(N) är inte nödvändigtvis samma värde som N* GetMaxCharCount(1).