C#에서 목록 복사

Muhammad Maisam Abbas 2024년2월16일
  1. C#에서 Linq를 사용하여 목록 복사
  2. C#에서 목록 생성자를 사용하여 목록 복사
C#에서 목록 복사

이 자습서에서는 C#에서 목록을 복사하는 방법을 소개합니다.

C#에서 Linq를 사용하여 목록 복사

Linq는 C#의 데이터 구조에 대해 SQL과 유사한 쿼리를 수행 할 수 있습니다. 미리 정의 된 item.Clone(/)메소드와 함께 Linq를 사용하여 목록의 복사본을 만들 수 있습니다. 아래 예를 참조하십시오.

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

namespace copy_a_list {
  static class Extensions {
    public static List<T> Clone<T>(this List<T> listToClone)
        where T : ICloneable {
      return listToClone.Select(item => (T)item.Clone()).ToList();
    }
  }
  class Program {
    static void Main(string[] args) {
      List<string> slist = new List<string> { "ABC", "DEF", "GHI" };
      List<string> tlist = slist.Clone();
      foreach (var t in tlist) {
        Console.WriteLine(t);
      }
    }
  }
}

출력:

ABC
DEF
GHI

일반 목록과 함께 사용할 확장 함수Clone()을 만들었습니다. Clone()함수는item.Clone()함수를 사용하여 목록 내의 각 요소에 대한 별도의 복사본을 만든 다음 C#의 ToList()함수를 사용하여 목록 형식으로 결과를 반환합니다. 메인 함수에서slist문자열 목록을 초기화하고tlist문자열 목록으로 복제했습니다. 값 목록과 참조 목록 모두에이 접근 방식을 사용할 수 있습니다.

C#에서 목록 생성자를 사용하여 목록 복사

목록의 복사본을 만드는 또 다른 간단한 방법은 C#에서 목록 생성자를 사용하는 것입니다. 이전 목록을 새 목록의 생성자에 전달하여 이전 목록의 복사본을 만들 수 있습니다. 다음 코드 예제는 C#에서 목록 생성자를 사용하여 목록의 별도 복사본을 만드는 방법을 보여줍니다.

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

namespace copy_a_list {
  class Program {
    static void method2() {}
    static void Main(string[] args) {
      List<string> slist = new List<string> { "ABC", "DEF", "GHI" };
      List<string> tlist = new List<string>(slist);
      foreach (var t in tlist) {
        Console.WriteLine(t);
      }
    }
  }
}

출력:

ABC
DEF
GHI

이 코드는 이전 접근 방식보다 훨씬 간단하고 이해하기 쉽습니다. 위 코드에서tlist생성자의 인수로slist를 전달하여slist목록의 별도 사본을tlist에 생성했습니다. 이 접근 방식은 값 목록에서만 사용할 수 있습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp List