次の方法で共有


ASCIIEncoding.GetMaxCharCount メソッド

指定したバイト数をデコードして得られる、最大文字数を計算します。

Overrides Public Function GetMaxCharCount( _
   ByVal byteCount As Integer _) As Integer
[C#]
public override int GetMaxCharCount(intbyteCount);
[C++]
public: int GetMaxCharCount(intbyteCount);
[JScript]
public override function GetMaxCharCount(
   byteCount : int) : int;

パラメータ

  • byteCount
    デコードするバイト数。

戻り値

byteCount のバイト数のバイトをデコードした結果の文字数の最大値。

例外

例外の種類 条件
ArgumentOutOfRangeException byteCount が 0 未満です。

解説

このメソッドは、現在のエンコーディングの ASCIIEncoding.GetChars に渡された、文字配列の最大バッファ サイズを判断するために使用します。この最大バッファ サイズを使用すると、バッファのオーバーフローによる例外が発生するのを防ぎます。

デコードされたバイトを格納するために GetChars メソッドによって要求された配列サイズを、正確に計算するには GetCharCount を使用し、最大値を計算するには GetMaxCharCount を使用します。

使用例

[Visual Basic, C#, C++] 指定したバイト数をデコードするために必要な最大文字数を、 GetMaxCharCount メソッドを使用して計算する方法を次の例に示します。

 
Imports System
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

[C#] 
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
        );
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;

int main() 
{
   ASCIIEncoding* ascii = new ASCIIEncoding();
   int byteCount = 8;
   int maxCharCount = ascii -> GetMaxCharCount(byteCount);
   Console::WriteLine(S"Maximum of {0} characters needed to decode {1} bytes.",
      __box(maxCharCount), __box(byteCount));
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

ASCIIEncoding クラス | ASCIIEncoding メンバ | System.Text 名前空間 | GetChars | GetChars