C#中的Array.BinarySearch()方法用于使用由数组的每个元素和指定值实现的IComparable接口在一维排序数组中的元素范围内搜索值。
注意-它在排序的数组中搜索。
语法如下-
public static int BinarySearch (Array arr, int index, int len, object val);
上面的参数arr是要搜索的一维数组,index是要搜索范围的开始索引,len是搜索的长度。val参数是要搜索的对象。
现在让我们看一个例子-
using System; public class Demo { public static void Main() { int[] intArr = {10, 20, 30, 40, 50}; Array.Sort(intArr); Console.WriteLine("Array elements..."); foreach(int i in intArr) { Console.WriteLine(i); } Console.Write("Element 20 is at index = " + Array.BinarySearch(intArr, 1, 3, 20)); } }
输出结果
这将产生以下输出-
Array elements... 10 20 30 40 50 Element 20 is at index = 1
现在让我们来看另一个示例-
using System; public class Demo { public static void Main() { int[] intArr = {5, 10, 15, 20}; Array.Sort(intArr); Console.WriteLine("Array elements..."); foreach(int i in intArr) { Console.WriteLine(i); } Console.Write("Element 25 is at index = " + Array.BinarySearch(intArr, 0, 2, 20)); } }
输出结果
这将产生以下输出-
Array elements... 5 10 15 20 Element 25 is at index = -3