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 则返回整个字段的长度(以字符为单位),而不是基于缓冲区偏移参数的剩余大小。

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

注意

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

适用于