Queryable.Count Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí počet prvků v sekvenci.
Přetížení
Count<TSource>(IQueryable<TSource>) |
Vrátí počet prvků v sekvenci. |
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Vrátí počet prvků v zadané sekvenci, které splňují podmínku. |
Count<TSource>(IQueryable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí počet prvků v sekvenci.
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
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Obsahuje IQueryable<T> prvky, které se mají spočítat.
Návraty
Počet prvků ve vstupní sekvenci.
Výjimky
source
je null
.
Počet prvků v source
souboru je větší než Int32.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Count<TSource>(IQueryable<TSource>) k počítání prvků v sekvenci.
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.
Poznámky
Metoda Count<TSource>(IQueryable<TSource>) vygeneruje MethodCallExpression , který představuje volání Count<TSource>(IQueryable<TSource>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Count<TSource>(IQueryable<TSource>) , závisí na implementaci typu parametru source
. Očekávané chování je, že počítá počet položek v source
souboru .
Platí pro
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí počet prvků v zadané sekvenci, které splňují podmínku.
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
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Obsahuje IQueryable<T> prvky, které se mají spočítat.
- predicate
- Expression<Func<TSource,Boolean>>
Funkce pro otestování každého prvku pro podmínku.
Návraty
Počet prvků v sekvenci, které splňují podmínku ve funkci predikátu.
Výjimky
source
nebo predicate
je null
.
Počet prvků v source
souboru je větší než Int32.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) k počítání prvků v sekvenci, které splňují podmínku.
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.
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) vygeneruje MethodCallExpression , který představuje volání Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že počítá položky v source
, které splňují podmínku určenou parametrem predicate
.