UTF7Encoding.GetMaxCharCount(Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Berekent het maximum aantal tekens dat wordt geproduceerd door het opgegeven aantal bytes te decoderen.
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
Parameters
- byteCount
- Int32
Het aantal bytes dat moet worden gedecodeerd.
Retouren
Het maximum aantal tekens dat wordt geproduceerd door het opgegeven aantal bytes te decoderen.
Uitzonderingen
byteCount is kleiner dan nul.
– of –
Het resulterende aantal tekens is groter dan het maximumaantal dat als een int kan worden geretourneerd.
Er is een terugval opgetreden (zie Character Encoding in .NET)
en
DecoderFallback is ingesteld op DecoderExceptionFallback.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de GetMaxCharCount methode gebruikt om het maximum aantal tekens te retourneren dat wordt geproduceerd door het decoderen van een opgegeven aantal bytes.
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
UTF7Encoding utf7 = new UTF7Encoding();
int byteCount = 8;
int maxCharCount = utf7.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UTF7EncodingExample
Public Shared Sub Main()
Dim utf7 As New UTF7Encoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = utf7.GetMaxCharCount(byteCount)
Console.WriteLine( _
"Maximum of {0} characters needed to decode {1} bytes.", _
maxCharCount, _
byteCount _
)
End Sub
End Class
Opmerkingen
Voor het berekenen van de exacte matrixgrootte die is vereist voor GetChars het opslaan van de resulterende tekens, gebruikt GetCharCountde toepassing . Als u de maximale matrixgrootte wilt berekenen, moet de toepassing gebruikmaken van GetMaxCharCount. Met de GetCharCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxCharCount methode doorgaans sneller wordt uitgevoerd.
GetMaxCharCount is een slechtst getal, inclusief het slechtste geval voor de geselecteerde DecoderFallback. Als een terugval is gekozen met een mogelijk grote tekenreeks, GetMaxCharCount kunnen grote waarden worden geretourneerd.
In de meeste gevallen retourneert deze methode redelijke getallen voor kleine tekenreeksen. Voor grote tekenreeksen moet u mogelijk kiezen tussen het gebruik van zeer grote buffers en het ondervangen van fouten in het zeldzame geval dat een meer redelijke buffer wordt overschreden. U kunt ook een andere benadering overwegen met behulp van GetCharCount of Decoder.Convert.
GetMaxCharCount heeft geen relatie tot GetBytes. Als uw toepassing een vergelijkbare functie nodig heeft om mee GetByteste gebruiken, moet deze worden gebruikt GetMaxByteCount.
Note
GetMaxCharCount(N) is niet noodzakelijkerwijs dezelfde waarde als N* GetMaxCharCount(1).