Queryable.Count Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el número de elementos de una secuencia.
Sobrecargas
| Count<TSource>(IQueryable<TSource>) |
Devuelve el número de elementos de una secuencia. |
| Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Devuelve el número de elementos de la secuencia especificada que satisfacen una condición. |
Count<TSource>(IQueryable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Devuelve el número de elementos de una secuencia.
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
Parámetros de tipo
- TSource
Tipo de los elementos de source.
Parámetros
- source
- IQueryable<TSource>
IQueryable<T> que contiene los elementos que se van a contar.
Devoluciones
El número de elementos de la secuencia de entrada.
Excepciones
source es null.
El número de elementos de source es mayor que Int32.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Count<TSource>(IQueryable<TSource>) para contar los elementos de una secuencia.
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.
Comentarios
El Count<TSource>(IQueryable<TSource>) método genera un MethodCallExpression objeto que representa llamarse Count<TSource>(IQueryable<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .
El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Count<TSource>(IQueryable<TSource>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que cuenta el número de elementos de source.
Se aplica a
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Devuelve el número de elementos de la secuencia especificada que satisfacen una condición.
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
Parámetros de tipo
- TSource
Tipo de los elementos de source.
Parámetros
- source
- IQueryable<TSource>
IQueryable<T> que contiene los elementos que se van a contar.
- predicate
- Expression<Func<TSource,Boolean>>
Función para probar cada elemento de una condición.
Devoluciones
El número de elementos de la secuencia que satisfacen la condición de la función de predicado.
Excepciones
source o predicate es null.
El número de elementos de source es mayor que Int32.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) para contar los elementos de una secuencia que cumplen una condición.
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.
Comentarios
Este método tiene al menos un parámetro de tipo Expression<TDelegate> cuyo argumento de tipo es uno de los Func<T,TResult> tipos. Para estos parámetros, puede pasar una expresión lambda y se compilará en .Expression<TDelegate>
El Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) método genera un MethodCallExpression objeto que representa llamarse Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .
El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que cuenta el número de elementos de source que cumplen la condición especificada por predicate.