Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 리스트에서 각 요소의 세제곱(큐브)을 구하는 프로그램

C#에서는 LINQ의 Select 메서드람다 식(Lambda Expression)을 활용하면 리스트의 각 요소에 대한 세제곱 값을 손쉽게 계산할 수 있습니다. 이 글에서는 실제 예제 코드와 함께 그 과정을 단계별로 살펴보겠습니다.

1. 예제 리스트 준비하기

먼저 정수형 요소를 담고 있는 리스트를 선언합니다.

List<int> list = new List<int> { 2, 4, 5, 7 };

2. Select() 메서드로 세제곱 계산하기

Select() 메서드는 컬렉션의 각 요소를 지정한 변환식에 따라 새로운 형태로 투영(projection)하는 LINQ 연산자입니다. 람다 식 c => c * c * c를 전달하면 각 요소의 세제곱이 계산됩니다.

list.AsQueryable().Select(c => c * c * c);

여기서 AsQueryable()은 리스트를 IQueryable<T> 형태로 변환하여 쿼리 연산을 수행할 수 있도록 해줍니다.

3. 전체 예제 코드

아래는 위 내용을 모두 포함한 완전한 예제입니다.

using System;
using System.Linq;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        List<int> list = new List<int> { 2, 4, 5, 7 };

        Console.WriteLine("Elements...");
        // 초기 리스트 출력
        foreach (int n in list)
            Console.WriteLine(n);

        // 각 요소의 세제곱 계산
        IEnumerable<int> res = list.AsQueryable().Select(c => c * c * c);

        Console.WriteLine("Cube of each element...");
        foreach (int n in res)
            Console.WriteLine(n);
    }
}

4. 실행 결과

Elements...
2
4
5
7
Cube of each element...
8
64
125
343

정리

실행 결과를 보면 리스트 { 2, 4, 5, 7 }의 각 요소가 각각 8, 64, 125, 343으로 변환된 것을 확인할 수 있습니다. 이처럼 Select 메서드와 람다 식을 조합하면 반복문 없이도 간결하고 가독성 높은 코드로 컬렉션 요소를 일괄 변환할 수 있습니다. 제곱, 세제곱뿐 아니라 다양한 수학적 변환이나 문자열 처리 등에도 동일한 패턴을 응용할 수 있습니다.