Queryable.Count Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Anzahl der Elemente in einer Sequenz zurück
Überlädt
Count<TSource>(IQueryable<TSource>) |
Gibt die Anzahl der Elemente in einer Sequenz zurück |
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Gibt die Anzahl der Elemente in der angegebenen Sequenz zurück, die eine Bedingung erfüllen. |
Count<TSource>(IQueryable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Gibt die Anzahl der Elemente in einer Sequenz zurück
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
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IQueryable<TSource>
Das IQueryable<T>, das die zu zählenden Elemente enthält.
Gibt zurück
Die Anzahl der Elemente in der Eingabesequenz.
Ausnahmen
source
ist null
.
Die Anzahl der Elemente in source
ist größer als Int32.MaxValue.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Count<TSource>(IQueryable<TSource>) , um die Elemente in einer Sequenz zu zählen.
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.
Hinweise
Die Count<TSource>(IQueryable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Count<TSource>(IQueryable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die Execute<TResult>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Count<TSource>(IQueryable<TSource>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass die Anzahl der Elemente in source
zählt.
Gilt für:
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Gibt die Anzahl der Elemente in der angegebenen Sequenz zurück, die eine Bedingung erfüllen.
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
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IQueryable<TSource>
Ein IQueryable<T>, das die zu zählenden Elemente enthält
- predicate
- Expression<Func<TSource,Boolean>>
Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.
Gibt zurück
Die Anzahl von Elementen in der Sequenz, die die Bedingung in der Prädikatfunktion erfüllen.
Ausnahmen
source
oder predicate
ist null
.
Die Anzahl der Elemente in source
ist größer als Int32.MaxValue.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , um die Elemente in einer Sequenz zu zählen, die eine Bedingung erfüllen.
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.
Hinweise
Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.
Die Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) -Methode generiert eine MethodCallExpression , die den Aufruf Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die Execute<TResult>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass die Anzahl der Elemente in source
gezählt wird, die die von predicate
angegebene Bedingung erfüllen.