UnicodeEncoding.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.
En reserv inträffade (mer information finns i Character Encoding i .NET)
-och-
EncoderFallback är inställt på EncoderExceptionFallback.
Exempel
I följande exempel visas hur du använder GetMaxByteCount metoden för att returnera det maximala antalet byte som krävs för att koda ett angivet antal tecken.
using System;
using System.Text;
class UnicodeEncodingExample {
public static void Main() {
UnicodeEncoding Unicode = new UnicodeEncoding();
int charCount = 2;
int maxByteCount = Unicode.GetMaxByteCount(charCount);
Console.WriteLine(
"Maximum of {0} bytes needed to encode {1} characters.",
maxByteCount,
charCount
);
}
}
Imports System.Text
Class UnicodeEncodingExample
Public Shared Sub Main()
Dim uni As New UnicodeEncoding()
Dim charCount As Integer = 2
Dim maxByteCount As Integer = uni.GetMaxByteCount(charCount)
Console.WriteLine("Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount)
End Sub
End Class
Kommentarer
För att beräkna den exakta matrisstorlek som krävs för GetBytes att lagra de resulterande byteen använder GetByteCountprogrammet . För att beräkna den maximala matrisstorleken bör programmet använda GetMaxByteCount. Metoden GetByteCount allokerar vanligtvis mindre minne, medan GetMaxByteCount metoden vanligtvis körs snabbare.
GetMaxByteCount hämtar ett sämsta fall-tal, inklusive det värsta fallet för den valda EncoderFallback. Om en återställning väljs med en potentiellt stor sträng kan GetMaxByteCount du returnera stora värden.
I de flesta fall hämtar 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 GetByteCountEncoder.Convert.
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).