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
에 생성했습니다. 이 접근 방식은 값 목록에서만 사용할 수 있습니다.
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