developer tip

목록의 정수 범위 합계

copycodes 2020. 11. 8. 10:12
반응형

목록의 정수 범위 합계


나는 이것이 매우 사소한 일이라고 생각하지만 어떻게하는지 알 수 없습니다. 나는 a가 List<int>있고 숫자의 범위를 합하고 싶습니다.

내 목록은 다음과 같습니다.

var list = new List<int>()
{
    1, 2, 3, 4
};

처음 3 개 개체의 합계를 어떻게 얻습니까? 결과는 6입니다. 사용을 시도 Enumerable.Range했지만 작동하지 못했습니다. 그게 최선의 방법인지 확실하지 않습니다.

하지 않고 :

int sum = list[0] + list[1] + list[2];

Take& 사용하여이 작업을 수행 할 수 있습니다 Sum.

var list = new List<int>()
{
    1, 2, 3, 4
};

// 1 + 2 + 3
int sum = list.Take(3).Sum(); // Result: 6

다른 곳에서 시작하는 범위를 합산하려면 Skip다음을 사용할 수 있습니다 .

var list = new List<int>()
{
    1, 2, 3, 4
};

// 3 + 4
int sum = list.Skip(2).Take(2).Sum(); // Result: 7

또는 목록 순서를 사용 OrderBy하거나 OrderByDescending다음 요약 :

var list = new List<int>()
{
    1, 2, 3, 4
};

// 3 + 4
int sum = list.OrderByDescending(x => x).Take(2).Sum(); // Result: 7

보시다시피이 작업 (또는 관련 작업)을 수행하는 방법에는 여러 가지가 있습니다. 참조 Take, Sum, Skip, OrderByOrderByDescending자세한 내용은 설명서를 참조하십시오.

참고 URL : https://stackoverflow.com/questions/10284133/sum-range-of-ints-in-listint

반응형