ImmutableList<T>.Builder.BinarySearch Method

Definition

Overloads

BinarySearch(T)

Searches the entire ImmutableList<T>.Builder for an element using the default comparer and returns the zero-based index of the element.

BinarySearch(T, IComparer<T>)

Searches the entire ImmutableList<T>.Builder for an element using the specified comparer and returns the zero-based index of the element.

BinarySearch(Int32, Int32, T, IComparer<T>)

Searches the specified range of the ImmutableList<T>.Builder for an element using the specified comparer and returns the zero-based index of the element.

BinarySearch(T)

Searches the entire ImmutableList<T>.Builder for an element using the default comparer and returns the zero-based index of the element.

public:
 virtual int BinarySearch(T item);
public:
 int BinarySearch(T item);
public int BinarySearch (T item);
abstract member BinarySearch : 'T -> int
override this.BinarySearch : 'T -> int
member this.BinarySearch : 'T -> int
Public Function BinarySearch (item As T) As Integer

Parameters

item
T

The object to locate. The value can be null for reference types.

Returns

Int32

The zero-based index of item in the ImmutableList<T>.Builder, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item.

Exceptions

The default comparer Default cannot find an implementation of the IComparable<T> generic interface or the IComparable interface for type T.

Remarks

If the ImmutableList<T>.Builder does not contain the specified value, the method returns a negative integer. You can apply the bitwise complement operation (~) to this negative integer to get the index of the first element that is larger than the search value. When inserting the value into the ImmutableList<T>.Builder, this index should be used as the insertion point to maintain the sort order.

BinarySearch(T, IComparer<T>)

Searches the entire ImmutableList<T>.Builder for an element using the specified comparer and returns the zero-based index of the element.

public:
 virtual int BinarySearch(T item, System::Collections::Generic::IComparer<T> ^ comparer);
public:
 int BinarySearch(T item, System::Collections::Generic::IComparer<T> ^ comparer);
public int BinarySearch (T item, System.Collections.Generic.IComparer<T> comparer);
public int BinarySearch (T item, System.Collections.Generic.IComparer<T>? comparer);
abstract member BinarySearch : 'T * System.Collections.Generic.IComparer<'T> -> int
override this.BinarySearch : 'T * System.Collections.Generic.IComparer<'T> -> int
member this.BinarySearch : 'T * System.Collections.Generic.IComparer<'T> -> int
Public Function BinarySearch (item As T, comparer As IComparer(Of T)) As Integer

Parameters

item
T

The object to locate. This value can be null for reference types.

comparer
IComparer<T>

The implementation to use when comparing elements, or null for the default comparer.

Returns

Int32

The zero-based index of item in the ImmutableList<T>.Builder, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item.

Exceptions

comparer is null, and the default comparer Default cannot find an implementation of the IComparable<T> generic interface or the IComparable interface for type T.

Remarks

If the ImmutableList<T>.Builder does not contain the specified value, the method returns a negative integer. You can apply the bitwise complement operation (~) to this negative integer to get the index of the first element that is larger than the search value. When inserting the value into the ImmutableList<T>.Builder, this index should be used as the insertion point to maintain the sort order.

BinarySearch(Int32, Int32, T, IComparer<T>)

Searches the specified range of the ImmutableList<T>.Builder for an element using the specified comparer and returns the zero-based index of the element.

public:
 virtual int BinarySearch(int index, int count, T item, System::Collections::Generic::IComparer<T> ^ comparer);
public:
 int BinarySearch(int index, int count, T item, System::Collections::Generic::IComparer<T> ^ comparer);
public int BinarySearch (int index, int count, T item, System.Collections.Generic.IComparer<T> comparer);
public int BinarySearch (int index, int count, T item, System.Collections.Generic.IComparer<T>? comparer);
abstract member BinarySearch : int * int * 'T * System.Collections.Generic.IComparer<'T> -> int
override this.BinarySearch : int * int * 'T * System.Collections.Generic.IComparer<'T> -> int
member this.BinarySearch : int * int * 'T * System.Collections.Generic.IComparer<'T> -> int
Public Function BinarySearch (index As Integer, count As Integer, item As T, comparer As IComparer(Of T)) As Integer

Parameters

index
Int32

The zero-based starting index of the range to search.

count
Int32

The length of the range to search.

item
T

The object to locate. This value can be null for reference types.

comparer
IComparer<T>

The implementation to use when comparing elements, or null for the default comparer.

Returns

Int32

The zero-based index of item in the ImmutableList<T>.Builder, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item.

Exceptions

index is less than 0. -or-

count is less than 0.

index and count do not denote a valid range in the List<T>.

comparer is null, and the default comparer Default cannot find an implementation of the IComparable<T> generic interface or the IComparable interface for type T.

Remarks

If the ImmutableList<T>.Builder does not contain the specified value, the method returns a negative integer. You can apply the bitwise complement operation (~) to this negative integer to get the index of the first element that is larger than the search value. When inserting the value into the ImmutableList<T>.Builder, this index should be used as the insertion point to maintain the sort order.

Applies to