Array.BinarySearch(Array,Object)方法,带有C#中的示例

C#中的Array.BinarySearch(Array,Object)方法用于通过数组的每个元素和指定的对象实现的IComparable接口,在整个一维排序数组中搜索特定元素。

语法

public static int BinarySearch (Array arr, object val);

上面的arr是排序的一维数组,而val是要搜索的对象。

示例

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, 20));
   }
}

输出结果

Array elements...
5
10
15
20
Element 25 is at index = 3

示例

using System;
public class Demo {
   public static void Main() {
      string[] strArr = {"John", "Tim", "Fedric", "Gary", "Harry", "Damien"};
      Array.Sort(strArr);
      Console.WriteLine("Array elements...");
      foreach(string s in strArr) {
         Console.WriteLine(s);
      }
      Console.Write("Element Gary is at index = " + Array.BinarySearch(strArr, "Gary"));
      Console.Write("\nElement Tom is at index = " + Array.BinarySearch(strArr, "Tom"));
   }
}

输出结果

Array elements...
Damien
Fedric
Gary
Harry
John
Tim
Element Gary is at index = 2
Element Tom is at index = -7