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

C# 시퀀스에서 요소 순서를 반전시키는 방법 – Reverse() 메서드 활용 예제

C# LINQ의 Reverse() 메서드를 사용하면 시퀀스에 포함된 요소들의 순서를 간단하게 반전시킬 수 있습니다. 이 글에서는 문자 배열을 예제로 Queryable.Reverse() 메서드를 활용해 요소 순서를 뒤집는 과정을 단계별로 살펴보겠습니다.

1. 문자 배열 설정하기

먼저 반전시킬 문자 배열을 선언하고, foreach 문으로 화면에 출력해 보겠습니다.

char[] ch = { 'd', 'r', 'i', 'v', 'e' };
Console.Write("String = ");
foreach(char arr in ch)
    Console.Write(arr);

2. Reverse() 메서드로 순서 반전하기

AsQueryable() 메서드로 배열을 IQueryable 형태로 변환한 뒤, Reverse() 메서드를 호출하면 시퀀스 내 요소들의 순서가 반전됩니다.

IQueryable<char> res = ch.AsQueryable().Reverse();

3. 전체 예제 코드

지금까지의 내용을 하나로 합친 완성된 코드는 다음과 같습니다.

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

public class Demo {
    public static void Main() {
        char[] ch = { 'd', 'r', 'i', 'v', 'e' };
        Console.Write("String = ");
        foreach(char arr in ch)
            Console.Write(arr);

        IQueryable<char> res = ch.AsQueryable().Reverse();
        Console.Write("\nReversed = ");
        foreach (char c in res)
            Console.Write(c);
    }
}

4. 실행 결과

String = drive
Reversed = evird

실행 결과를 확인해 보면, 원래 문자열 "drive"가 Reverse() 메서드를 통해 "evird"로 순서가 반전되어 출력된 것을 볼 수 있습니다.

참고 사항

Reverse()는 지연 실행(lazy execution) 방식으로 동작하여, 실제로 결과를 열거할 때 순서가 반전됩니다. 또한 AsQueryable()을 사용하면 IQueryable 공급자(예: Entity Framework) 환경에서 쿼리로 변환될 수 있으며, 단순한 메모리 내 컬렉션이라면 Enumerable.Reverse()를 직접 사용해도 동일한 결과를 얻을 수 있습니다.