共用方式為


UnicodeEncoding.GetMaxCharCount(Int32) 方法

定義

計算將指定數目的位元組解碼所產生的最大字元數。

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

參數

byteCount
Int32

要解碼的位元組數。

傳回

解碼指定位元組數所產生的最大字元數。

例外狀況

byteCount 小於零。

-或-

所產生的位元組數目大於可用整數傳回的數目上限。

發生後援 (如需詳細資訊,請參閱 .NET 中的字元編碼)

-和-

DecoderFallback 設定為 DecoderExceptionFallback

範例

下列範例示範如何使用 GetMaxCharCount 方法來傳回譯指定位元組數目所產生的最大字元數。

using namespace System;
using namespace System::Text;
int main()
{
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int byteCount = 8;
   int maxCharCount = Unicode->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        UnicodeEncoding Unicode = new UnicodeEncoding();
        int byteCount = 8;
        int maxCharCount = Unicode.GetMaxCharCount(byteCount);
        Console.WriteLine(
            "Maximum of {0} characters needed to decode {1} bytes.",
            maxCharCount,
            byteCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim uni As New UnicodeEncoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = uni.GetMaxCharCount(byteCount)
        Console.WriteLine("Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount)
    End Sub
End Class

備註

若要計算儲存結果字元所需的 GetChars 確切數組大小,應用程式會使用 GetCharCount。 若要計算數位大小上限,應用程式應該使用 GetMaxCharCount。 方法 GetCharCount 通常會配置較少的記憶體,而 GetMaxCharCount 方法通常會更快執行。

GetMaxCharCount 擷取最差大小寫的數位,包括目前選取 DecoderFallback最差的大小寫。 如果選擇具有可能大型字串的後援, GetMaxCharCount 則會擷取大型值。

在大部分情況下,此方法會擷取小型字串的合理數位。 對於大型字串,您可能必須在使用非常大的緩衝區和攔截錯誤之間選擇,在罕見的情況下,超過更合理的緩衝區。 您可能也想要考慮使用 GetCharCountConvert的不同方法。

GetMaxCharCount 與沒有關聯 GetBytes。 如果您的應用程式需要與搭配 GetBytes使用的類似函式,它應該使用 GetMaxByteCount

注意

GetMaxCharCount(N) 不一定與 N* GetMaxCharCount(1)相同值。

適用於

另請參閱