Freigeben über


Queryable.ElementAtOrDefault Methode

Definition

Überlädt

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

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem ein Element zurückgegeben werden soll

index
Index

Der Index des abzurufenden Elements, der entweder vom Anfang oder am Ende ist.

Gibt zurück

TSource

default , wenn index sich außerhalb der Grenzen der source Sequenz befindet, andernfalls das -Element an der angegebenen Position in der source Sequenz.

Ausnahmen

source ist null

Gilt für:

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

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem ein Element zurückgegeben werden soll

index
Int32

Der auf 0 (null) basierende Index des abzurufenden Elements.

Gibt zurück

TSource

default(TSource) , wenn index sich außerhalb der Grenzen von sourcebefindet, andernfalls das -Element an der angegebenen Position in source.

Ausnahmen

source ist null.

Beispiele

Das folgende Codebeispiel zeigt die Verwendung von ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In diesem Beispiel wird ein Wert für index verwendet, der außerhalb der Grenzen der Quellsequenz liegt.

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

Hinweise

Die ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) -Methode generiert eine MethodCallExpression , die den Aufruf ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die Execute<TResult>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source Parameters dargestellt wird.

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass das Element an der Position in oder default(TSource) zurückgegeben wird, wenn index sich außerhalb der Grenzen von befindetsource.sourceindex

Gilt für: