Decoder.GetCharCount メソッド
派生クラスでオーバーライドされた場合は、指定した範囲のバイトのデコードによって GetChars が生成する文字数を計算します。
Public MustOverride Function GetCharCount( _
ByVal bytes() As Byte, _ ByVal index As Integer, _ ByVal count As Integer _) As Integer
[C#]
public abstract int GetCharCount(byte[] bytes,intindex,intcount);
[C++]
public: virtual int GetCharCount(unsigned charbytes __gc[],intindex,intcount) = 0;
[JScript]
public abstract function GetCharCount(
bytes : Byte[],index : int,count : int) : int;
パラメータ
- bytes
デコードするバイト配列。 - index
デコードする bytes 内の最初のバイトのインデックス。 - count
デコードするバイト数。
戻り値
GetChars への次回の呼び出しが、 bytes 内の指定した範囲の要素のデコードによって生成する文字数。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | bytes が null 参照 (Visual Basic では Nothing) です。 |
ArgumentOutOfRangeException | index または count が 0 未満です。
または index に count を加算した値が、 bytes の長さを超えています。 |
解説
GetCharCount は、デコードされたバイトを格納するために GetChars メソッドが要求する配列サイズの計算のために、使用します。
このメソッドを呼び出しても、デコーダの状態には影響しません。
使用例
[Visual Basic, C#, C++] 配列 bytes
の指定したバイト範囲をデコードするために必要な文字数を、 GetCharCount メソッドを使用して計算する方法を次の例に示します。
Imports System
Imports System.Text
Class DecoderExample
Public Shared Sub Main()
Dim bytes() As Byte = { _
85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0 _
}
Dim uniDecoder As Decoder = Encoding.Unicode.GetDecoder()
Dim charCount As Integer = uniDecoder.GetCharCount(bytes, 0, bytes.Length)
Console.WriteLine("{0} characters needed to decode bytes.", charCount)
End Sub
End Class
[C#]
using System;
using System.Text;
class DecoderExample {
public static void Main() {
Byte[] bytes = new Byte[] {
85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
};
Decoder uniDecoder = Encoding.Unicode.GetDecoder();
int charCount = uniDecoder.GetCharCount(bytes, 0, bytes.Length);
Console.WriteLine(
"{0} characters needed to decode bytes.", charCount
);
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;
int main()
{
Byte bytes[] =
{
85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
};
Decoder * uniDecoder = Encoding::Unicode -> GetDecoder();
int charCount = uniDecoder -> GetCharCount(bytes, 0, bytes -> Length);
Console::WriteLine(S"{0} characters needed to decode bytes.", __box(charCount));
}
[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