เมธอด Array.BinarySearch() ใน C# ใช้ในการค้นหาช่วงขององค์ประกอบในอาร์เรย์ที่มีการจัดเรียงแบบหนึ่งมิติเพื่อหาค่า โดยใช้อินเทอร์เฟซ IComparable ที่ปรับใช้โดยแต่ละองค์ประกอบของอาร์เรย์และตามค่าที่ระบุ
หมายเหตุ − มันค้นหาในอาร์เรย์ที่เรียงลำดับ
ไวยากรณ์
ไวยากรณ์มีดังนี้ −
public static int BinarySearch (Array arr, int index, int len, object val);
ด้านบน พารามิเตอร์ arr คืออาร์เรย์ 1 มิติเพื่อค้นหา ดัชนีคือดัชนีเริ่มต้นของช่วงการค้นหา 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