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

C# 배열에서 지정된 개수의 요소를 건너뛰는 방법 – Skip() 메서드 완벽 가이드

C#에서 LINQ의 Skip() 메서드를 사용하면 배열이나 컬렉션의 앞부분에서 지정된 개수만큼 요소를 건너뛰고, 나머지 요소들만 손쉽게 가져올 수 있습니다. 이 글에서는 실제 예제 코드와 함께 Skip() 메서드의 사용법을 자세히 알아보겠습니다.

1. 예제용 배열 준비하기

먼저 다음과 같이 정수형 배열을 선언합니다.

int[] points = { 210, 250, 300, 350, 420};

2. Skip() 메서드 사용법

Skip() 메서드는 인자로 전달된 숫자만큼 시퀀스의 첫 번째 요소부터 차례대로 건너뛴 후, 남은 요소들을 반환합니다. 아래 코드에서는 먼저 OrderByDescending()으로 내림차순 정렬을 수행한 뒤, 3개의 요소를 건너뛰도록 작성했습니다.

IEnumerable<int> skipEle = points.AsQueryable().OrderByDescending(s => s).Skip(3);

3. 전체 예제 코드

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

public class Demo {
    public static void Main() {
        int[] points = { 210, 250, 300, 350, 420};
        
        Console.WriteLine("Initial array...");
        foreach (int res in points)
            Console.WriteLine(res);
        
        IEnumerable<int> skipEle = points.AsQueryable().OrderByDescending(s => s).Skip(3);
        Console.WriteLine("Skipped 3 elements...");
        
        foreach (int res in skipEle)
            Console.WriteLine(res);
    }
}

4. 실행 결과

Initial array...
210
250
300
350
420
Skipped 3 elements...
250
210

5. 코드 동작 원리

위 코드가 어떻게 동작하는지 단계별로 살펴보겠습니다.

  1. 배열 { 210, 250, 300, 350, 420 }OrderByDescending(s => s)로 내림차순 정렬하면 { 420, 350, 300, 250, 210 }이 됩니다.
  2. Skip(3)이 정렬된 시퀀스에서 처음 3개의 요소(420, 350, 300)를 건너뜁니다.
  3. 결과적으로 남아 있는 두 요소인 250210이 최종 출력됩니다.

참고 사항

Skip() 메서드는 지연 실행(lazy execution) 방식으로 동작하기 때문에, 실제로 foreach 문 등으로 열거할 때 쿼리가 평가됩니다. 또한 건너뛸 개수가 시퀀스 전체 길이보다 크면 빈 시퀀스가 반환되므로 안전하게 사용할 수 있습니다.