Queryable.Count Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert het aantal elementen in een reeks.
Overloads
| Name | Description |
|---|---|
| Count<TSource>(IQueryable<TSource>) |
Retourneert het aantal elementen in een reeks. |
| Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Retourneert het aantal elementen in de opgegeven reeks dat voldoet aan een voorwaarde. |
Count<TSource>(IQueryable<TSource>)
Retourneert het aantal elementen in een reeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Count(System::Linq::IQueryable<TSource> ^ source);
public static int Count<TSource>(this System.Linq.IQueryable<TSource> source);
static member Count : System.Linq.IQueryable<'Source> -> int
<Extension()>
Public Function Count(Of TSource) (source As IQueryable(Of TSource)) As Integer
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
De IQueryable<T> elementen die moeten worden geteld.
Retouren
Het aantal elementen in de invoerreeks.
Uitzonderingen
source is null.
Het aantal elementen is source groter dan Int32.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Count<TSource>(IQueryable<TSource>) u de elementen in een reeks kunt tellen.
string[] fruits = { "apple", "banana", "mango",
"orange", "passionfruit", "grape" };
int numberOfFruits = fruits.AsQueryable().Count();
Console.WriteLine(
"There are {0} items in the array.",
numberOfFruits);
// This code produces the following output:
//
// There are 6 items in the array.
Dim fruits() As String = {"apple", "banana", "mango", _
"orange", "passionfruit", "grape"}
Dim numberOfFruits As Integer = fruits.AsQueryable().Count()
MsgBox(String.Format( _
"There are {0} items in the array.", _
numberOfFruits))
' This code produces the following output:
'
' There are 6 items in the array.
Opmerkingen
De Count<TSource>(IQueryable<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept Count<TSource>(IQueryable<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Count<TSource>(IQueryable<TSource>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aantal items in sourcetelt.
Van toepassing op
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
Retourneert het aantal elementen in de opgegeven reeks dat voldoet aan een voorwaarde.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Count(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static int Count<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member Count : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> int
<Extension()>
Public Function Count(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As Integer
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een IQueryable<T> die de elementen bevat die moeten worden geteld.
- predicate
- Expression<Func<TSource,Boolean>>
Een functie om elk element voor een voorwaarde te testen.
Retouren
Het aantal elementen in de reeks dat voldoet aan de voorwaarde in de predicaatfunctie.
Uitzonderingen
source of predicate is null.
Het aantal elementen is source groter dan Int32.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) u de elementen in een reeks kunt tellen die voldoen aan een voorwaarde.
class Pet
{
public string Name { get; set; }
public bool Vaccinated { get; set; }
}
public static void CountEx2()
{
// Create an array of Pet objects.
Pet[] pets = { new Pet { Name="Barley", Vaccinated=true },
new Pet { Name="Boots", Vaccinated=false },
new Pet { Name="Whiskers", Vaccinated=false } };
// Count the number of unvaccinated pets in the array.
int numberUnvaccinated =
pets.AsQueryable().Count(p => !p.Vaccinated);
Console.WriteLine(
"There are {0} unvaccinated animals.",
numberUnvaccinated);
}
// This code produces the following output:
//
// There are 2 unvaccinated animals.
Structure Pet
Public Name As String
Public Vaccinated As Boolean
End Structure
Shared Sub CountEx2()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Vaccinated = True}, _
New Pet With {.Name = "Boots", .Vaccinated = False}, _
New Pet With {.Name = "Whiskers", .Vaccinated = False}}
' Count the number of unvaccinated pets in the array.
Dim numberUnvaccinated As Integer = pets.AsQueryable().Count(Function(p) p.Vaccinated = False)
MsgBox(String.Format("There are {0} unvaccinated animals.", numberUnvaccinated))
End Sub
' This code produces the following output:
'
' There are 2 unvaccinated animals.
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) methode genereert een MethodCallExpression die zichzelf aanroept Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat hiermee het aantal items wordt source geteld dat voldoet aan de voorwaarde die is opgegeven door predicate.