MemoryExtensions.BinarySearch 方法

定義

多載

BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

使用指定的 TComparable 泛型型別,在整個已排序的 ReadOnlySpan<T> 中搜尋值。

BinarySearch<T,TComparable>(Span<T>, TComparable)

使用指定的 TComparable 泛型型別,在整個已排序的 Span<T> 中搜尋值。

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

使用指定的 TComparer 泛型型別,在整個已排序的 ReadOnlySpan<T> 中搜尋指定的值。

BinarySearch<T,TComparer>(Span<T>, T, TComparer)

使用指定的 TComparer 泛型型別,在整個已排序的 Span<T> 中搜尋指定的值。

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

使用指定的 IComparable<T> 泛型介面,在整個已排序的 ReadOnlySpan<T> 中搜尋值。

BinarySearch<T>(Span<T>, IComparable<T>)

使用指定的 IComparable<T> 泛型介面,在整個已排序的 Span<T> 中搜尋值。

BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

使用指定的 TComparable 泛型型別,在整個已排序的 ReadOnlySpan<T> 中搜尋值。

public:
generic <typename T, typename TComparable>
 where TComparable : IComparable<T>[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(ReadOnlySpan<T> span, TComparable comparable);
public static int BinarySearch<T,TComparable> (this ReadOnlySpan<T> span, TComparable comparable) where TComparable : IComparable<T>;
static member BinarySearch : ReadOnlySpan<'T> * 'Comparable -> int (requires 'Comparable :> IComparable<'T>)
<Extension()>
Public Function BinarySearch(Of T, TComparable) (span As ReadOnlySpan(Of T), comparable As TComparable) As Integer

類型參數

T

範圍的專案類型。

TComparable

的特定型別 IComparable<T>

參數

span
ReadOnlySpan<T>

要搜尋的已排序 ReadOnlySpan<T>

comparable
TComparable

比較時所要使用的 TComparable

傳回

Int32

如果有找到 comparable,則為已排序的 spancomparable 之以零為起始的索引,否則便為負數,此負數為大於 comparable 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparablenull

適用於

BinarySearch<T,TComparable>(Span<T>, TComparable)

使用指定的 TComparable 泛型型別,在整個已排序的 Span<T> 中搜尋值。

public:
generic <typename T, typename TComparable>
 where TComparable : IComparable<T>[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(Span<T> span, TComparable comparable);
public static int BinarySearch<T,TComparable> (this Span<T> span, TComparable comparable) where TComparable : IComparable<T>;
static member BinarySearch : Span<'T> * 'Comparable -> int (requires 'Comparable :> IComparable<'T>)
<Extension()>
Public Function BinarySearch(Of T, TComparable) (span As Span(Of T), comparable As TComparable) As Integer

類型參數

T

範圍的專案類型。

TComparable

的特定型別 IComparable<T>

參數

span
Span<T>

要搜尋的已排序 Span<T>

comparable
TComparable

比較時所要使用的 TComparable

傳回

Int32

如果有找到 comparable,則為已排序的 spancomparable 之以零為起始的索引,否則便為負數,此負數為大於 comparable 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparablenull

適用於

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

使用指定的 TComparer 泛型型別,在整個已排序的 ReadOnlySpan<T> 中搜尋指定的值。

public:
generic <typename T, typename TComparer>
 where TComparer : System::Collections::Generic::IComparer<T>[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(ReadOnlySpan<T> span, T value, TComparer comparer);
public static int BinarySearch<T,TComparer> (this ReadOnlySpan<T> span, T value, TComparer comparer) where TComparer : System.Collections.Generic.IComparer<T>;
static member BinarySearch : ReadOnlySpan<'T> * 'T * 'Comparer -> int (requires 'Comparer :> System.Collections.Generic.IComparer<'T>)
<Extension()>
Public Function BinarySearch(Of T, TComparer) (span As ReadOnlySpan(Of T), value As T, comparer As TComparer) As Integer

類型參數

T

範圍的專案類型。

TComparer

的特定型別 IComparer<T>

參數

span
ReadOnlySpan<T>

要搜尋的已排序 ReadOnlySpan<T>

value
T

要尋找的物件。 參考類型的值可以是 null

comparer
TComparer

比較時所要使用的 TComparer

傳回

Int32

如果有找到 value,則為已排序的 spanvalue 之以零為起始的索引,否則便為負數,此負數為大於 value 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparernull

適用於

BinarySearch<T,TComparer>(Span<T>, T, TComparer)

使用指定的 TComparer 泛型型別,在整個已排序的 Span<T> 中搜尋指定的值。

public:
generic <typename T, typename TComparer>
 where TComparer : System::Collections::Generic::IComparer<T>[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(Span<T> span, T value, TComparer comparer);
public static int BinarySearch<T,TComparer> (this Span<T> span, T value, TComparer comparer) where TComparer : System.Collections.Generic.IComparer<T>;
static member BinarySearch : Span<'T> * 'T * 'Comparer -> int (requires 'Comparer :> System.Collections.Generic.IComparer<'T>)
<Extension()>
Public Function BinarySearch(Of T, TComparer) (span As Span(Of T), value As T, comparer As TComparer) As Integer

類型參數

T

範圍的專案類型。

TComparer

的特定型別 IComparer<T>

參數

span
Span<T>

要搜尋的已排序 Span<T>

value
T

要尋找的物件。 參考類型的值可以是 null

comparer
TComparer

比較時所要使用的 TComparer

傳回

Int32

如果有找到 value,則為已排序的 spanvalue 之以零為起始的索引,否則便為負數,此負數為大於 value 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparernull

適用於

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

使用指定的 IComparable<T> 泛型介面,在整個已排序的 ReadOnlySpan<T> 中搜尋值。

public:
generic <typename T>
[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(ReadOnlySpan<T> span, IComparable<T> ^ comparable);
public static int BinarySearch<T> (this ReadOnlySpan<T> span, IComparable<T> comparable);
static member BinarySearch : ReadOnlySpan<'T> * IComparable<'T> -> int
<Extension()>
Public Function BinarySearch(Of T) (span As ReadOnlySpan(Of T), comparable As IComparable(Of T)) As Integer

類型參數

T

範圍的專案類型。

參數

span
ReadOnlySpan<T>

要搜尋的已排序 ReadOnlySpan<T>

comparable
IComparable<T>

比較時所要使用的 IComparable<T>

傳回

Int32

如果有找到 comparable,則為已排序的 spancomparable 之以零為起始的索引,否則便為負數,此負數為大於 comparable 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparablenull

適用於

BinarySearch<T>(Span<T>, IComparable<T>)

使用指定的 IComparable<T> 泛型介面,在整個已排序的 Span<T> 中搜尋值。

public:
generic <typename T>
[System::Runtime::CompilerServices::Extension]
 static int BinarySearch(Span<T> span, IComparable<T> ^ comparable);
public static int BinarySearch<T> (this Span<T> span, IComparable<T> comparable);
static member BinarySearch : Span<'T> * IComparable<'T> -> int
<Extension()>
Public Function BinarySearch(Of T) (span As Span(Of T), comparable As IComparable(Of T)) As Integer

類型參數

T

範圍的專案類型。

參數

span
Span<T>

要搜尋的已排序 Span<T>

comparable
IComparable<T>

比較時所要使用的 IComparable<T>

傳回

Int32

如果有找到 comparable,則為已排序的 spancomparable 之以零為起始的索引,否則便為負數,此負數為大於 comparable 的下一個項目索引之位元補數,或者,如果沒有更大的項目,則為 Length 的位元補數。

例外狀況

comparablenull

適用於