MemoryExtensions.BinarySearch 方法

定义

重载

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

使用指定的 TComparable 泛型类型,在整个已排序的 ReadOnlySpan<T> 中搜索值。

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

使用指定的 TComparable 泛型类型,在整个已排序的 Span<T> 中搜索值。

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

使用指定的 TComparer 泛型类型,在整个已排序的 Span<T> 中搜索指定值。

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

使用指定的 TComparer 泛型类型,在整个已排序的 ReadOnlySpan<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)

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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

返回

如果找到 comparable,则为已排序的 spancomparable 的从零开始的索引;否则为一个负数,该负数是大于 comparable 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparablenull

适用于

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

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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

返回

如果找到 comparable,则为已排序的 spancomparable 的从零开始的索引;否则为一个负数,该负数是大于 comparable 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparablenull

适用于

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

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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

返回

如果找到 value,则为已排序的 spanvalue 的从零开始的索引;否则为一个负数,该负数是大于 value 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparernull

适用于

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

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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

返回

如果找到 value,则为已排序的 spanvalue 的从零开始的索引;否则为一个负数,该负数是大于 value 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparernull

适用于

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

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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>

返回

如果找到 comparable,则为已排序的 spancomparable 的从零开始的索引;否则为一个负数,该负数是大于 comparable 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparablenull

适用于

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

Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs
Source:
MemoryExtensions.cs

使用指定的 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>

返回

如果找到 comparable,则为已排序的 spancomparable 的从零开始的索引;否则为一个负数,该负数是大于 comparable 的下一个元素的索引的按位求补。如果没有更大的元素,则为 Length 的按位求补。

例外

comparablenull

适用于