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

复制到缓冲区中的最大长度。

返回

读取的实际字符数。

实现

注解

GetChars 返回 字段中的可用字符数。 通常,这是字段的确切长度。 但是,如果 GetChars 已用于从字段获取字符,则返回的数字可能小于字段的真实长度。 例如,如果 SqlDataReader 正在将大型数据结构读取到缓冲区中,则可能是这种情况。 有关详细信息, SequentialAccess 请参阅 的设置 CommandBehavior

如果达到字段的末尾,读取的实际字符数可能小于请求的长度。 如果传递的缓冲区为 nullGetChars 则返回整个字段的长度(以字符为单位),而不是基于缓冲区偏移参数的剩余大小。

不执行任何转换;因此。 检索到的数据必须已是字符数组。

注意

GetChars 为负数时 dataIndex ,方法返回 0。

适用于

另请参阅