Queryable.Count 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
시퀀스의 요소 수를 반환합니다.
오버로드
Count<TSource>(IQueryable<TSource>) |
시퀀스의 요소 수를 반환합니다. |
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
지정된 시퀀스에서 특정 조건에 맞는 요소 수를 반환합니다. |
Count<TSource>(IQueryable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
시퀀스의 요소 수를 반환합니다.
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
형식 매개 변수
- TSource
source
요소의 형식입니다.
매개 변수
- source
- IQueryable<TSource>
개수를 셀 요소가 들어 있는 IQueryable<T>입니다.
반환
입력 시퀀스의 요소 수입니다.
예외
source
이(가) null
인 경우
의 source
요소 수가 Int32.MaxValue보다 큰 경우
예제
다음 코드 예제에서는 를 사용하여 Count<TSource>(IQueryable<TSource>) 시퀀스의 요소 수를 계산하는 방법을 보여 줍니다.
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.
설명
메서드는 Count<TSource>(IQueryable<TSource>)MethodCallExpression 생성된 제네릭 메서드로 자신을 호출 Count<TSource>(IQueryable<TSource>) 하는 을 생성합니다. 그런 다음 을 MethodCallExpression 매개 변수의 Execute<TResult>(Expression) 속성으로 나타내는 Provider 의 IQueryProvider 메서드에 source
전달합니다.
호출 Count<TSource>(IQueryable<TSource>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식 source
의 구현에 따라 달라집니다. 예상되는 동작은 의 항목 source
수를 계산하는 것입니다.
적용 대상
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
지정된 시퀀스에서 특정 조건에 맞는 요소 수를 반환합니다.
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
형식 매개 변수
- TSource
source
요소의 형식입니다.
매개 변수
- source
- IQueryable<TSource>
개수를 셀 요소가 들어 있는 IQueryable<T>입니다.
- predicate
- Expression<Func<TSource,Boolean>>
각 요소를 조건에 대해 테스트하는 함수입니다.
반환
시퀀스에서 조건자 함수의 조건에 맞는 요소 수입니다.
예외
source
또는 predicate
가 null
인 경우
의 source
요소 수가 Int32.MaxValue보다 큰 경우
예제
다음 코드 예제에서는 를 사용하여 Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) 조건을 충족하는 시퀀스의 요소 수를 계산하는 방법을 보여 줍니다.
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.
설명
이 메서드에는 형식 인수가 형식 중 하나인 형식 Expression<TDelegate> 의 매개 변수가 Func<T,TResult> 하나 이상 있습니다. 이러한 매개 변수의 경우 람다 식을 전달할 수 있으며 로 컴파일됩니다 Expression<TDelegate>.
메서드는 Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)MethodCallExpression 생성된 제네릭 메서드로 자신을 호출 Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) 하는 을 생성합니다. 그런 다음 을 MethodCallExpression 매개 변수의 Execute<TResult>(Expression) 속성으로 나타내는 Provider 의 IQueryProvider 메서드에 source
전달합니다.
호출 Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식 source
의 구현에 따라 달라집니다. 예상되는 동작은 에서 지정predicate
한 조건을 충족하는 의 항목 source
수를 계산하는 것입니다.
적용 대상
.NET