Sdílet prostřednictvím


Queryable.ElementAtOrDefault Metoda

Definice

Přetížení

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah.

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);
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

Parametry typu

TSource

Typ prvků objektu source.

Parametry

source
IQueryable<TSource>

Chcete-li IQueryable<T> vrátit prvek z.

index
Index

Index elementu, který se má načíst, který je buď od začátku, nebo na konci.

Návraty

TSource

default pokud index je mimo hranice source sekvence; v opačném případě prvek na zadané pozici v source sekvenci.

Výjimky

source je null.

Platí pro

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah.

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);
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

Parametry typu

TSource

Typ prvků objektu source.

Parametry

source
IQueryable<TSource>

Chcete-li IQueryable<T> vrátit prvek z.

index
Int32

Index od nuly elementu, který se má načíst.

Návraty

TSource

default(TSource) pokud index je mimo hranice source. V opačném případě prvek na určené pozici v source.

Výjimky

source je null.

Příklady

Následující příklad kódu ukazuje, jak použít ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). Tento příklad používá hodnotu, index která je mimo hranice zdrojové sekvence.

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]'.

Poznámky

Metoda ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) vygeneruje MethodCallExpression , který představuje volání ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source .

Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) , závisí na implementaci typu parametru source . Očekávané chování je, že vrátí položku na pozici index v source, nebo default(TSource) pokud index je mimo hranice .source

Platí pro