Queryable.Take Metod

Definition

Överlagringar

Name Description
Take<TSource>(IQueryable<TSource>, Int32)

Returnerar ett angivet antal sammanhängande element från början av en sekvens.

Take<TSource>(IQueryable<TSource>, Range)

Returnerar ett angivet intervall med sammanhängande element från en sekvens.

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

Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs

Returnerar ett angivet antal sammanhängande element från början av en sekvens.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, int count);
public static System.Linq.IQueryable<TSource> Take<TSource>(this System.Linq.IQueryable<TSource> source, int count);
[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 System.Linq.IQueryable<TSource> Take<TSource>(this System.Linq.IQueryable<TSource> source, int count);
static member Take : System.Linq.IQueryable<'Source> * int -> System.Linq.IQueryable<'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 Take : System.Linq.IQueryable<'Source> * int -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), count As Integer) As IQueryable(Of TSource)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IQueryable<TSource>

Sekvensen som elementen ska returneras från.

count
Int32

Antalet element som ska returneras.

Returer

IQueryable<TSource>

En IQueryable<T> som innehåller det angivna antalet element från början av source.

Attribut

Undantag

source är null.

Exempel

Följande kodexempel visar hur du använder Take<TSource>(IQueryable<TSource>, Int32) för att returnera element från början av en sekvens.

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

// Sort the grades in descending order and take the first three.
IEnumerable<int> topThreeGrades =
    grades.AsQueryable().OrderByDescending(grade => grade).Take(3);

Console.WriteLine("The top three grades are:");
foreach (int grade in topThreeGrades)
    Console.WriteLine(grade);

/*
    This code produces the following output:

    The top three grades are:
    98
    92
    85
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the grades in descending order and take the first three.
Dim topThreeGrades = _
    grades.AsQueryable().OrderByDescending(Function(grade) grade).Take(3)

Dim output As New System.Text.StringBuilder
output.AppendLine("The top three grades are:")
For Each grade As Integer In topThreeGrades
    output.AppendLine(grade)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:

' The top three grades are:
' 98
' 92
' 85

Kommentarer

Metoden Take<TSource>(IQueryable<TSource>, Int32) genererar en MethodCallExpression som representerar att anropa Take<TSource>(IQueryable<TSource>, Int32) sig själv som en konstruerad generisk metod. Den skickar sedan till MethodCallExpression metoden för den CreateQuery(Expression) som representeras av IQueryProvider egenskapen för parameternProvider.source

Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Take<TSource>(IQueryable<TSource>, Int32) körs beror på implementeringen av source parametertypen. Det förväntade beteendet är att det tar de första count elementen från början av source.

Gäller för

Take<TSource>(IQueryable<TSource>, Range)

Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs
Källa:
Queryable.cs

Returnerar ett angivet intervall med sammanhängande element från en sekvens.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, Range range);
public static System.Linq.IQueryable<TSource> Take<TSource>(this System.Linq.IQueryable<TSource> source, Range range);
[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 System.Linq.IQueryable<TSource> Take<TSource>(this System.Linq.IQueryable<TSource> source, Range range);
static member Take : System.Linq.IQueryable<'Source> * Range -> System.Linq.IQueryable<'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 Take : System.Linq.IQueryable<'Source> * Range -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), range As Range) As IQueryable(Of TSource)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IQueryable<TSource>

Sekvensen som elementen ska returneras från.

range
Range

Det intervall med element som ska returneras, som har start- och slutindex från början eller slutet.

Returer

IQueryable<TSource>

En IQueryable<T> som innehåller de angivna range elementen från sekvensen source .

Attribut

Undantag

source är null.

Gäller för