共用方式為


SqlDataReader.GetChars(Int32, Int64, Char[], Int32, Int32) 方法

定義

從指定的資料行位移將字元資料流讀取到緩衝區中,作為以指定緩衝區位移開頭的陣列。

public:
 override 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);
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

參數

i
Int32

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

dataIndex
Int64

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

buffer
Char[]

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

bufferIndex
Int32

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

length
Int32

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

傳回

讀取的實際字元數目。

實作

備註

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

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

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

注意

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

適用於