C#에서 정수 배열 요약

Abdullahi Salawudeen 2023년10월12일
  1. sum() 메서드를 사용하여 C#에서 정수 배열 합계
  2. Array.foreach 메서드를 사용하여 C#의 정수 배열 합계
  3. Enumerable.Aggregate() 메서드를 사용하여 C#에서 정수 배열 합계
C#에서 정수 배열 요약

이 기사에서는 C#에서 정수 배열을 요약하는 방법을 소개합니다.

sum() 메서드를 사용하여 C#에서 정수 배열 합계

IEnumerableSystem.Collections.Generic 네임스페이스에서 파생됩니다. ‘GetEnumerator’ 함수를 정의하는 인터페이스입니다. 클래스 컬렉션 또는 익명 형식 목록을 통해 루프를 허용합니다.

sum() 메서드는 System.Linq 네임스페이스에 있는 확장 메서드입니다. 이 방법은 목록이나 배열과 같은 IEnumerable에 있는 모든 숫자 값을 요약합니다.

sum() 메서드는 int, long, doubledecimal과 같은 모든 C# 숫자 데이터 유형으로 IEnumerable을 구현하는 개체에서 사용할 수 있습니다. 루프를 피하여 숫자 모음을 추가하는 최적화된 방법입니다.

이 방법은 코드 줄을 줄이고 버그를 줄일 수 있지만 for 루프보다 느리게 만드는 약간의 오버헤드가 있습니다.

아래는 sum()을 사용한 코드의 예입니다.

using System;
using System.Linq;
namespace MyApplication {
  class Program {
    static void Main(string[] args) {
      int[] arr = new int[] { 1, 2, 3 };
      int sum = arr.Sum();
      Console.WriteLine(sum);
    }
  }
}

출력:

6

Array.foreach 메서드를 사용하여 C#의 정수 배열 합계

foreach 문은 배열 요소를 반복하는 깔끔하고 덜 복잡한 방법입니다. foreach 메서드는 인덱스 array.length - 1의 요소를 통해 인덱스 0의 요소에서 시작하여 1차원 배열의 요소를 오름차순으로 처리합니다.

delegate는 유형이 안전한 안전한 참조 유형입니다. 명명된 또는 익명의 메서드를 캡슐화하는 데 사용됩니다.

대리자는 호환되는 반환 형식이 있는 메서드 또는 람다 식으로 인스턴스화해야 합니다. foreach 문에 중첩된 람다 식을 사용합니다.

다음은 foreach 메서드를 사용하는 코드의 예입니다.

using System;
namespace MyApplication {
  class Program {
    static void Main(string[] args) {
      int[] arr = new int[] { 1, 2, 3 };
      int sum = 0;
      Array.ForEach(arr, i => sum += i);
      Console.WriteLine(sum);
    }
  }
}

출력:

6

Enumerable.Aggregate() 메서드를 사용하여 C#에서 정수 배열 합계

Enumerable.Aggregate 메서드는 System.Linq 네임스페이스에 있습니다. 이전 결과를 추적하거나 저장하는 동안 목록 또는 배열의 각 요소에 대해 수학 연산을 수행합니다.

예를 들어, 배열이나 숫자 {2,4,6,8}의 목록에 대해 더하기 연산을 수행해야 합니다. Aggregate 기능은 2와 4를 더하고, 결과(즉, 6)를 앞으로 전달하고, 그 결과를 다음 요소(6+6)와 함께 추가하고, 결과를 앞으로 전달하고, 다음 요소(12+8)와 함께 추가합니다. 마지막 숫자가 처리될 때 최종 결과를 반환합니다.

아래는 코드의 예입니다.

using System;
using System.Linq;
namespace MyApplication {
  class Program {
    static void Main(string[] args) {
      int[] arr = new int[] { 1, 2, 3 };
      int sum = arr.Aggregate((total, next) => total + next);

      Console.WriteLine(sum);
    }
  }
}

출력:

6
Abdullahi Salawudeen avatar Abdullahi Salawudeen avatar

Abdullahi is a full-stack developer and technical writer with over 5 years of experience designing and implementing enterprise applications. He loves taking on new challenges and believes conceptual programming theories should be implemented in reality.

LinkedIn GitHub

관련 문장 - Csharp Array