Queryable.ElementAtOrDefault Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| ElementAtOrDefault<TSource>(IQueryable<TSource>, Index) |
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона. |
| ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) |
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона. |
ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource ElementAtOrDefault(System::Linq::IQueryable<TSource> ^ source, Index index);
public static TSource? ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, Index index);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static TSource? ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, Index index);
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * Index -> 'Source
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * Index -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IQueryable(Of TSource), index As Index) As TSource
Параметры типа
- TSource
Тип элементов source.
Параметры
- source
- IQueryable<TSource>
Объект IQueryable<T> , из который возвращается элемент.
- index
- Index
Индекс извлекаемого элемента, который находится в начале или конце.
Возвращаемое значение
default Значение , если index находится вне границ source последовательности; в противном случае элемент находится на указанной позиции в source последовательности.
- Атрибуты
Исключения
source равно null.
Применяется к
ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource ElementAtOrDefault(System::Linq::IQueryable<TSource> ^ source, int index);
public static TSource ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, int index);
public static TSource? ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, int index);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static TSource? ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, int index);
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * int -> 'Source
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * int -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IQueryable(Of TSource), index As Integer) As TSource
Параметры типа
- TSource
Тип элементов source.
Параметры
- source
- IQueryable<TSource>
Объект IQueryable<T> , из который возвращается элемент.
- index
- Int32
Отсчитываемый от нуля индекс элемента.
Возвращаемое значение
default(TSource) Значение , если index находится вне границ source; в противном случае элемент находится в указанной позиции source.
- Атрибуты
Исключения
source равно null.
Примеры
В следующем примере кода показано, как использовать ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). В этом примере используется значение для index этого вне границ исходной последовательности.
string[] names = { "Hartono, Tommy", "Adams, Terry",
"Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
int index = 20;
string name = names.AsQueryable().ElementAtOrDefault(index);
Console.WriteLine(
"The name chosen at index {0} is '{1}'.",
index,
String.IsNullOrEmpty(name) ? "[NONE AT THIS INDEX]" : name);
/*
This code produces the following output:
The name chosen at index 20 is '[NONE AT THIS INDEX]'.
*/
Dim names() As String = {"Hartono, Tommy", "Adams, Terry", _
"Andersen, Henriette Thaulow", _
"Hedlund, Magnus", "Ito, Shu"}
Dim index As Integer = 20
Dim name As String = names.AsQueryable().ElementAtOrDefault(index)
MsgBox(String.Format("The name at index {0} is '{1}'.", _
index, IIf(String.IsNullOrEmpty(name), "[NONE AT THIS INDEX]", name)))
' This code produces the following output:
'
' The name at index 20 is '[NONE AT THIS INDEX]'.
Комментарии
Метод ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) создает объект MethodCallExpression , представляющий ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) себя как созданный универсальный метод. Затем он передает MethodCallExpressionExecute<TResult>(Expression) метод IQueryProvider метода, представленного Provider свойством source параметра.
Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он возвращает элемент в позиции indexsourceили default(TSource) находится index вне границ source.