이 설명서는 보관되지만 유지 되지 않습니다.

Queryable.Average<TSource> 메서드 (IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>)

업데이트: 2007년 11월

입력 시퀀스의 각 요소에 대해 프로젝션 함수를 호출하여 가져온 nullable Decimal 값 시퀀스의 평균을 계산합니다.

네임스페이스:  System.Linq
어셈블리:  System.Core(System.Core.dll)

public static Nullable<decimal> Average<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, Nullable<decimal>>> selector
)

J#에서는 제네릭 API를 사용할 수 있지만 새로 선언할 수는 없습니다.
JScript에서는 제네릭 형식이나 메서드를 지원하지 않습니다.

Type 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
형식: System.Linq.IQueryable<TSource>

평균을 계산할 값의 시퀀스입니다.

selector
형식: System.Linq.Expressions.Expression<Func<TSource, Nullable<Decimal>>>

각 요소에 적용할 프로젝션 함수입니다.

반환 값

형식: System.Nullable<Decimal>

값 시퀀스의 평균이거나, source 시퀀스가 비어 있거나 null 값만 들어 있으면 null입니다.

사용 정보

Visual Basic 및 C#에서는 이 메서드를 IQueryable<TSource> 형식의 모든 개체에서 인스턴스 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 확장 메서드(Visual Basic) 또는 확장 메서드(C# 프로그래밍 가이드)를 참조하십시오.

예외상황
ArgumentNullException

source 또는 selectornull인 경우

이 메서드에는 형식 인수가 Func<T, TResult> 형식 중 하나인 Expression<TDelegate> 형식 매개 변수가 최소한 하나 있습니다. 이러한 매개 변수에 람다 식을 전달할 수 있으며, 이러한 경우 Expression<TDelegate>으로 컴파일됩니다.

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>) 메서드는 Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>) 자신을 생성된 제네릭 메서드로 호출하는 MethodCallExpression을 생성합니다. 그런 다음 MethodCallExpressionsource 매개 변수의 Provider 속성이 나타내는 IQueryProviderExecute<TResult>(Expression) 메서드에 전달합니다.

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>)를 호출하는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 source 매개 변수의 형식 구현에 따라 다릅니다. 예상되는 동작은 각 값에 대해 selector를 호출한 후 source에 있는 값의 평균을 계산하는 것입니다.

다음 코드 예제에서는 Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32>>)를 사용하여 String 형식의 값 시퀀스에서 String의 평균 길이를 계산하는 방법을 보여 줍니다.

참고:

이 코드 예제에서는 이 항목에서 설명하는 특정 오버로드와는 다른 이 오버로드된 메서드의 오버로드를 사용합니다. 이 항목의 예제를 확장하려면 선택기 함수의 본문을 변경하십시오.

string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

// Determine the average string length in the array.
double average = fruits.AsQueryable().Average(s => s.Length);

Console.WriteLine("The average string length is {0}.", average);

// This code produces the following output:
//
// The average string length is 6.5. 



Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5에서 지원
표시: