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

以零為基底的資料行序數。

dataIndex
Int64

欄位內開始讀取作業的索引。

buffer
Char[]

要將位元組資料流讀取到其中的緩衝區。

bufferIndex
Int32

buffer 內寫入作業開始之處的索引。

length
Int32

複製入緩衝區的最大長度。

傳回

Int64

讀取的實際字元數目。

實作

備註

GetChars 會傳回欄位中可用的字元數。 通常這是欄位的確切長度。 但是,如果已使用 GetChars 從欄位取得字元數,則傳回的數字可能小於欄位的實際長度。 例如,如果 SqlDataReader 正在將大型資料結構讀取到緩衝區,則可能是這種情況。 如需詳細資訊,請參閱 SequentialAccessCommandBehavior 設定。

如果達到欄位結尾,讀取的實際字元數可以小於要求的長度。 如果您傳遞的緩衝區為 nullGetChars 則會以字元傳回整個欄位的長度,而不是根據緩衝區位移參數的剩餘大小。

不會執行任何轉換;因此。 擷取的資料必須是字元陣列。

注意

當 為負數時 dataIndex ,方法 GetChars 會傳回 0。

適用於

另請參閱