点击或拖拽改变大小

Functions.AScanBinExact 方法

X#
扫描已排序的数组,直到找到一个精确匹配或代码块返回0。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION AScanBinExact(
	aTarget AS ARRAY,
	uSearch AS USUAL
) AS DWORD
查看代码

参数

aTarget
类型:__Array
要扫描的已排序数组。
uSearch
类型:__Usual
要扫描的值。
除非此参数是代码块,否则它必须与aTarget中元素的数据类型匹配。
如果uSearch是代码块,它应返回一个数值,表示比较的结果:正值表示uSearch大于当前数组元素,0表示相等,负值表示uSearch小于当前数组元素。

返回值

类型:UInt32
如果uSearch是代码块,AScanBinExact()在代码块返回零值时返回元素的位置。
否则,AScanBinExact()返回精确匹配元素的位置。
如果存在多个相同的元素,由于AScanBinExact()使用二分查找算法,返回的精确匹配项不一定是编号最小的元素。
如果未找到精确匹配项,AScanBinExact()返回0。
备注
AScanBinExact()与AScanBin()相同,只是使用==进行匹配而不是=。
示例
此示例展示了AScanBinExact()和AScanBin()之间的区别:
X#
1aArray := {"Larger", "Largest"}    // 已排序
2? "Larger" = "Large"            // TRUE
3? "Larger" == "Large"            // FALSE
4? AScanBin(aArray, "Large")        // 1
5? AScanBinExact(aArray, "Large")    // 0
参见