Array.BinarySearch(Array, Int32, Int32, Object) Method with examples in C# Last Updated : 24 Jan, 2019 Comments Improve Suggest changes Like Article Like Report Array.BinarySearch(Array, int32, int32, Object) Method is used to search a range of elements in a one-dimensional sorted array for a value, using the IComparable interface implemented by each element of the array and by the specified value. It searches only in a specified boundary that the user defines. Syntax: public static int BinarySearch(Array array, int index, int length, object value); Parameters: array: It is 1-D array in which we have to search for an element. index: It is the starting index of the range from where you want to start the search. length: It is the length of the range in which we want to search. value: It is the value which we to search for. Return Value: It returns the index of the specified value in the specified array if the value is found otherwise it returns a negative number. There are different cases of return values as follows: If the value is not found and value is less than one or more elements in the array, the negative number returned is the bitwise complement of the index of the first element that is larger than value. If the value is not found and value is greater than all elements in the array, the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted array, the return value can be incorrect and a negative number could be returned, even if the value is present in the array. Exceptions: ArgumentNullException: If the array is null. RankException: If array is multidimensional. ArgumentOutOfRangeException: If the range is less than lower bound OR length is less than 0. ArgumentException: If the index and length do not specify the valid range in array OR value is of the type that is not compatible with the elements of the array. InvalidOperationException: If value does not implement the IComparable interface, and the search encounters an element that does not implement the IComparable interface. Below programs illustrate the above-discussed method: Example 1: csharp // C# Program to illustrate the use of // Array.BinarySearch(Array, Int32, // Int32, Object) Method using System; using System.IO; class GFG { // Main Method static void Main() { // initializing the integer array int[] intArr = {42, 5, 7, 12, 56, 1, 32}; // sorts the intArray as it must be // sorted before using method Array.Sort(intArr); // printing the sorted array foreach(int i in intArr) Console.Write(i + " " + "\n"); // intArr is the array we want to find // and 1 is the starting index // of the range to search. 5 is the // length of the range to search. // 32 is the object to search int index = Array.BinarySearch(intArr, 1, 5, 32); if (index >= 0) { // if the element is found it // returns the index of the element Console.Write("Index: " + index); } else { // if the element is not // present in the array or // if it is not in the // specified range it prints this Console.Write("Element is not found"); } } } Output: 1 5 7 12 32 42 56 Index: 4 Example 2: If the element is not in the array it prints a negative value or if it is out of the range. csharp // C# Program to illustrate the use of // Array.BinarySearch(Array, Int32, // Int32, Object) Method using System; using System.IO; class GFG { // Main Method static void Main() { // initializing the integer array int[] intArr = {42, 5, 7, 12, 56, 1, 32}; // sorts the intArray as it must be // sorted before using Method Array.Sort(intArr); // printing the sorted array foreach(int i in intArr) Console.Write(i + " " + "\n"); // intArr is the array we want to // find. and 1 is the starting // index of the range to search. 5 is // the length of the range to search // 44 is the object to search int index = Array.BinarySearch(intArr, 1, 5, 44); // as the element is not present // it prints a negative value. Console.Write("Index :" + index); } } Output: 1 5 7 12 32 42 56 Index :-7 Reference: https://docs.microsoft.com/en-us/dotnet/api/system.array.binarysearch?view=netframework-4.7.2#System_Array_BinarySearch_System_Array_System_Int32_System_Int32_System_Object_ Comment More infoAdvertise with us Next Article Array.BinarySearch(Array, Int32, Int32, Object) Method with examples in C# K Krishna_Sai_Ketha Follow Improve Article Tags : C# Similar Reads Array.BinarySearch(Array, Object) Method with examples in C# This method is used to search a specific element in the entire one-dimensional sorted array by using the IComparable interface which is implemented by each element of the array and by the specified object. Syntax: public static int BinarySearch (Array array, object value); Parameters: array: It is t 4 min read C# | Array.BinarySearch(Array, Int32, Int32, Object, IComparer) Method This method searches for an element which is in a one-dimensional sorted array within a range of elements using a specified IComparer interface. Syntax: public static int BinarySearch(Array arr, int index, int length, Object value, IComparer comparer) Parameters: arr : The sorted one-dimensional Arr 4 min read C# | Array.BinarySearch(Array, Object, IComparer) Method This method searches for a value in a one-dimensional sorted array using a specified IComparer interface. Syntax: public static int BinarySearch(Array arr, Object val, IComparer comparer) Parameters: arr : The one-dimensional sorted array in which the search will happen. val : The object value which 4 min read How to use Array.BinarySearch() Method in C# | Set -2 Array.BinarySearch() method is used to search a value in a sorted one dimensional array. The binary search algorithm is used by this method. This algorithm searches a sorted array by repeatedly dividing the search interval in half. Begin with an interval covering the whole array. If the value of the 12 min read Array.GetValue() Method in C# with Examples | Set â 4 Array.GetValue() Method in C# is used to gets the value of the specified element in the current Array. There are total 8 methods in the overload list of this method which are as follows: Array.GetValue(Int32, Int32)Array.GetValue(Int64, Int64)Array.GetValue(Int32)Array.GetValue(Int64)Array.GetValue( 5 min read Array.GetValue() Method in C# with Examples | Set â 2 Array.GetValue() Method in C# is used to gets the value of the specified element in the current Array. There are total 8 methods in the overload list of this method which are as follows: Array.GetValue(Int32, Int32) Array.GetValue(Int64, Int64) Array.GetValue(Int32) Array.GetValue(Int64) Array.GetVa 3 min read Array.GetValue() Method in C# with Examples | Set - 1 Array.GetValue() Method in C# is used to gets the value of the specified element in the current Array. There are total 8 methods in the overload list of this method which are as follows: Array.GetValue(Int32, Int32) Array.GetValue(Int64, Int64) Array.GetValue(Int32) Array.GetValue(Int64) Array.GetVa 4 min read Array.GetValue() Method in C# with Examples | Set â 3 Array.GetValue() Method in C# is used to gets the value of the specified element in the current Array. There are total 8 methods in the overload list of this method which are as follows: Array.GetValue(Int32, Int32)Array.GetValue(Int64, Int64)Array.GetValue(Int32)Array.GetValue(Int64)Array.GetValue( 5 min read BitArray.LeftShift() Method in C# with Examples BitArray class manages a array of bit values, which are represented as Booleans, where true indicates bit is 1 and false indicates bit is 0. This class is contained in namespace, System.Collections. BitArray.LeftShift(Int32) method is used to shift the bits of the bit array to the left by one positi 2 min read List.FindIndex() Method in C# with Examples List<T>.FindIndex Method is used to search for an element that matches the conditions defined by a specified predicate and returns the index of the first occurrence within the List<T>. If an item that matches the conditions is not found then this method will return -1. There are 3 method 6 min read Like