Enumerable.Sum<TSource> 메서드 (IEnumerable<TSource>, Func<TSource, Int32>)

2013-12-13

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Int32 값 시퀀스의 합을 계산합니다.

Namespace:  System.Linq
어셈블리:  System.Core(System.Core.dll)

public static int Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, int> selector
)

형식 매개 변수

TSource

source의 요소 형식입니다.

매개 변수

source
형식: System.Collections.Generic.IEnumerable<TSource>
합계를 계산하는 데 사용되는 값 시퀀스입니다.
selector
형식: System.Func<TSource, Int32>
각 요소에 적용할 변형 함수입니다.

반환 값

형식: System.Int32
프로젝션된 값의 합계입니다.

사용 정보

Visual Basic 및 C#에서는 이 메서드를 IEnumerable<TSource> 형식의 모든 개체에서 인스턴스 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다.

예외조건
ArgumentNullException

source 또는 selectornull입니다.

OverflowException

합계가 MaxValue보다 큽니다.

source에 요소가 없으면 이 메서드는 0을 반환합니다.

source의 멤버를 숫자 형식(특히 Int32)으로 투영하는 selector 함수를 제공하면 임의 값 시퀀스에 이 메서드를 적용할 수 있습니다.

Visual Basic 쿼리 식 구문에서 Aggregate Into Sum() 절은 Enumerable.Sum 호출로 변환됩니다.

다음 코드 예제에서는 Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>)을 사용하여 투영된 시퀀스 값의 합을 구하는 방법을 보여 줍니다.

참고참고:

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


      class Package
      {
         public string Company { get; set; }
         public double Weight { get; set; }
      }

      public static void SumEx1()
      {
         List<Package> packages =
             new List<Package> 
                     { new Package { Company = "Coho Vineyard", Weight = 25.2 },
                       new Package { Company = "Lucerne Publishing", Weight = 18.7 },
                       new Package { Company = "Wingtip Toys", Weight = 6.0 },
                       new Package { Company = "Adventure Works", Weight = 33.8 } };

         double totalWeight = packages.Sum(pkg => pkg.Weight);

         outputBlock.Text += String.Format("The total weight of the packages is: {0}", totalWeight) + "\n";
      }

      /*
       This code produces the following output:

       The total weight of the packages is: 83.7
      */



Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시:
© 2014 Microsoft