次の方法で共有


SqlDataReader.GetChars(Int32, Int64, Char[], Int32, Int32) メソッド

定義

指定した列オフセットからバッファーに文字ストリームを配列として読み取ります。その際、指定したバッファー オフセット位置から開始します。

public:
 override long GetChars(int i, long dataIndex, cli::array <char> ^ buffer, int bufferIndex, int length);
public:
 virtual long GetChars(int i, long dataIndex, cli::array <char> ^ buffer, int bufferIndex, int length);
public override long GetChars (int i, long dataIndex, char[] buffer, int bufferIndex, int length);
public long GetChars (int i, long dataIndex, char[] buffer, int bufferIndex, int length);
override this.GetChars : int * int64 * char[] * int * int -> int64
abstract member GetChars : int * int64 * char[] * int * int -> int64
override this.GetChars : int * int64 * char[] * int * int -> int64
Public Overrides Function GetChars (i As Integer, dataIndex As Long, buffer As Char(), bufferIndex As Integer, length As Integer) As Long
Public Function GetChars (i As Integer, dataIndex As Long, buffer As Char(), bufferIndex As Integer, length As Integer) As Long

パラメーター

i
Int32

0 から始まる列序数。

dataIndex
Int64

読み取り操作の開始位置を示す、フィールド内のインデックスです。

buffer
Char[]

バイトのストリームを読み込むバッファー。

bufferIndex
Int32

書き込み操作を開始する buffer 内のインデックス。

length
Int32

バッファーにコピーする最大長。

戻り値

実際に読み取られた文字数。

実装

注釈

GetChars は、フィールドで使用できる文字数を返します。 多くの場合、これはフィールドの正確な長さです。 ただし、既に GetChars を使用してフィールドから文字を取得している場合、返される文字数はフィールドの正しい長さよりも少なくなる場合があります。 たとえば、 が大きなデータ構造を SqlDataReader バッファーに読み取る場合などです。 詳細については、 の設定CommandBehaviorSequentialAccess参照してください。

フィールドの末尾に達した場合、読み取られる実際の文字数は、要求された長さよりも小さくすることができます。 であるnullGetCharsバッファーを渡すと、バッファー オフセット パラメーターに基づく残りのサイズではなく、フィールド全体の長さが文字数で返されます。

変換は実行されません。そこで。 取得するデータは、既に文字配列である必要があります。

注意

が負の場合dataIndex、メソッドは GetChars 0 を返します。

適用対象

こちらもご覧ください