Queryable.ElementAt Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ElementAt<TSource>(IQueryable<TSource>, Index) |
Возвращает элемент по указанному индексу в последовательности. |
ElementAt<TSource>(IQueryable<TSource>, Int32) |
Возвращает элемент по указанному индексу в последовательности. |
ElementAt<TSource>(IQueryable<TSource>, Index)
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Возвращает элемент по указанному индексу в последовательности.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource ElementAt(System::Linq::IQueryable<TSource> ^ source, Index index);
public static TSource ElementAt<TSource> (this System.Linq.IQueryable<TSource> source, Index index);
static member ElementAt : System.Linq.IQueryable<'Source> * Index -> 'Source
<Extension()>
Public Function ElementAt(Of TSource) (source As IQueryable(Of TSource), index As Index) As TSource
Параметры типа
- TSource
Тип элементов source
.
Параметры
- source
- IQueryable<TSource>
Объект IQueryable<T>, из которого требуется возвратить элемент.
- index
- Index
Индекс извлекаемого элемента, который находится в начале или в конце.
Возвращаемое значение
Элемент в указанной позиции последовательности source
.
Исключения
source
имеет значение null
.
index
находится за пределами source
последовательности.
Применяется к
ElementAt<TSource>(IQueryable<TSource>, Int32)
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Возвращает элемент по указанному индексу в последовательности.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource ElementAt(System::Linq::IQueryable<TSource> ^ source, int index);
public static TSource ElementAt<TSource> (this System.Linq.IQueryable<TSource> source, int index);
static member ElementAt : System.Linq.IQueryable<'Source> * int -> 'Source
<Extension()>
Public Function ElementAt(Of TSource) (source As IQueryable(Of TSource), index As Integer) As TSource
Параметры типа
- TSource
Тип элементов source
.
Параметры
- source
- IQueryable<TSource>
Объект IQueryable<T>, из которого требуется возвратить элемент.
- index
- Int32
Отсчитываемый от нуля индекс извлекаемого элемента.
Возвращаемое значение
Элемент, находящийся в указанной позиции в последовательности source
.
Исключения
source
имеет значение null
.
Значение параметра index
меньше нуля.
Примеры
В следующем примере кода показано, как использовать ElementAt<TSource>(IQueryable<TSource>, Int32) для возврата элемента в определенной позиции последовательности.
string[] names = { "Hartono, Tommy", "Adams, Terry",
"Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
Random random = new Random(DateTime.Now.Millisecond);
string name =
names.AsQueryable().ElementAt(random.Next(0, names.Length));
Console.WriteLine("The name chosen at random is '{0}'.", name);
/*
This code produces the following sample output.
Yours may be different due to the use of Random.
The name chosen at random is 'Ito, Shu'.
*/
Dim names() As String = {"Hartono, Tommy", "Adams, Terry", _
"Andersen, Henriette Thaulow", _
"Hedlund, Magnus", "Ito, Shu"}
Dim rand As New Random(DateTime.Now.Millisecond)
Dim name As String = _
names.AsQueryable().ElementAt(rand.Next(0, names.Length))
MsgBox(String.Format("The name chosen at random is '{0}'.", name))
' This code produces the following sample output.
' Yours may be different due to the use of Random.
'
' The name chosen at random is 'Ito, Shu'.
Комментарии
Метод ElementAt<TSource>(IQueryable<TSource>, Int32) создает объект , MethodCallExpression представляющий вызов ElementAt<TSource>(IQueryable<TSource>, Int32) как сконструированный универсальный метод. Затем он передает в MethodCallExpressionExecute<TResult>(Expression) метод объекта , IQueryProvider представленный свойством Providersource
параметра .
Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов ElementAt<TSource>(IQueryable<TSource>, Int32) , зависит от реализации типа source
параметра. Ожидаемое поведение заключается в том, что он возвращает элемент в позиции index
в source
.