ASCIIEncoding.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

デコードするバイト数。

戻り値

Int32

指定したバイト数をデコードすることによって生成される最大文字数。

例外

byteCount が 0 未満です。

または 結果のバイト数が、整数として返すことのできる最大数を超えています。

次の例では、このメソッドを使用 GetMaxCharCount して、指定したバイト数をデコードするために必要な最大文字数を計算する方法を示します。

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

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

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

注釈

メソッドは GetCharCount 、結果の文字を格納するためにメソッドに GetChars 必要な正確な配列サイズを計算します GetMaxCharCount が、メソッドは最大配列サイズを計算します。 一般に、このメソッドは割り当てるメモリが少なくなりますが、一般に、メソッドのGetMaxCharCount実行速度はGetCharCount速くなります。

GetMaxCharCount現在選択されているの最悪のケースを含む、最悪のケース番号を取得し DecoderFallback ます。 最大フォールバック長が n のデコーダー フォールバックが存在する場合、メソッドは GetMaxCharCount n * byteCount を返します。

GetMaxCharCountには関係がありません GetBytes 。 アプリケーションで使用するのと同様の関数が必要な GetBytes場合は、使用する必要があります GetMaxByteCount

注意

GetMaxCharCount(N)はと同じ値であるとは限りません N* GetMaxCharCount(1)

適用対象

こちらもご覧ください