Queryable.Count Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne le nombre total d'éléments dans une séquence.
Surcharges
Count<TSource>(IQueryable<TSource>) |
Retourne le nombre total d'éléments dans une séquence. |
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Retourne le nombre d'éléments dans la séquence spécifiée qui satisfait à une condition. |
Count<TSource>(IQueryable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Retourne le nombre total d'éléments dans une séquence.
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
Paramètres de type
- TSource
Le type des éléments de source
.
Paramètres
- source
- IQueryable<TSource>
IQueryable<T> qui contient les éléments à compter.
Retours
Nombre total d'éléments dans la séquence d'entrée.
Exceptions
source
a la valeur null
.
Le nombre d’éléments dans est supérieur à source
Int32.MaxValue.
Exemples
L’exemple de code suivant montre comment utiliser Count<TSource>(IQueryable<TSource>) pour compter les éléments dans une séquence.
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.
Remarques
La Count<TSource>(IQueryable<TSource>) méthode génère un MethodCallExpression qui représente l’appel Count<TSource>(IQueryable<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source
paramètre .
Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Count<TSource>(IQueryable<TSource>) dépend de l’implémentation du type du source
paramètre. Le comportement attendu est qu’il compte le nombre d’éléments dans source
.
S’applique à
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Retourne le nombre d'éléments dans la séquence spécifiée qui satisfait à une condition.
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
Paramètres de type
- TSource
Le type des éléments de source
.
Paramètres
- source
- IQueryable<TSource>
IQueryable<T> qui contient les éléments à compter.
- predicate
- Expression<Func<TSource,Boolean>>
Fonction permettant de tester chaque élément par rapport à une condition.
Retours
Nombre d'éléments de la séquence qui satisfont à la condition dans la fonction de prédicat.
Exceptions
source
ou predicate
est null
.
Le nombre d’éléments dans est supérieur à source
Int32.MaxValue.
Exemples
L’exemple de code suivant montre comment utiliser Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) pour compter les éléments d’une séquence qui répondent à une condition.
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 == false);
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.
Remarques
Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l’argument type est l’un Func<T,TResult> des types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.
La Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) méthode génère un MethodCallExpression qui représente l’appel Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source
paramètre .
Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) dépend de l’implémentation du type du source
paramètre. Le comportement attendu est qu’il compte le nombre d’éléments dans source
qui répondent à la condition spécifiée par predicate
.