Functions.AScanBinExact 方法 | |
扫描已排序的数组,直到找到一个精确匹配或代码块返回0。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION AScanBinExact(
aTarget AS ARRAY,
uSearch AS USUAL
) AS DWORD
public static uint AScanBinExact(
__Array aTarget,
__Usual uSearch
)
查看代码参数
- aTarget
- 类型:__Array
要扫描的已排序数组。 - uSearch
- 类型:__Usual
要扫描的值。
除非此参数是代码块,否则它必须与aTarget中元素的数据类型匹配。
如果uSearch是代码块,它应返回一个数值,表示比较的结果:正值表示uSearch大于当前数组元素,0表示相等,负值表示uSearch小于当前数组元素。
返回值
类型:
UInt32
如果
uSearch是代码块,AScanBinExact()在代码块返回零值时返回元素的位置。
否则,AScanBinExact()返回精确匹配元素的位置。
如果存在多个相同的元素,由于AScanBinExact()使用二分查找算法,返回的精确匹配项不一定是编号最小的元素。
如果未找到精确匹配项,AScanBinExact()返回0。
备注
AScanBinExact()与AScanBin()相同,只是使用==进行匹配而不是=。
示例
此示例展示了AScanBinExact()和AScanBin()之间的区别:
1aArray := {"Larger", "Largest"}
2? "Larger" = "Large"
3? "Larger" == "Large"
4? AScanBin(aArray, "Large")
5? AScanBinExact(aArray, "Large")
参见