여러 목록을 손쉽게 결합
프로그래밍 작업에서는 여러 목록을 함께 병합해야 하는 경우가 흔합니다. 문자열을 포함하는 두 개의 목록이 있고 원래 시퀀스를 유지하고 중복을 제거하면서 효율적으로 결합하려는 시나리오를 생각해 보십시오.
해결책
다행히도 .NET 프레임워크는 이 작업에 대한 간단한 솔루션을 제공합니다. 권장되는 접근 방식은 다음과 같습니다.
List<string> a = new List<string>(); List<string> b = new List<string>(); a.AddRange(b);
AddRange 메서드를 활용하면 목록 b의 요소를 목록 a의 끝에 손쉽게 추가할 수 있습니다. 그러나 이 방법은 중복 항목을 제거하지 않습니다.
원본 목록 보존
원본 목록을 변경하는 것이 바람직하지 않은 경우 Concat 방법을 사용할 수 있습니다.
var newList = a.Concat(b);
이 작업은 원본을 수정하지 않고 두 목록의 요소를 결합하는 새로운 IEnumerable 컬렉션을 생성합니다. 목록 a가 null인 경우 Concat 메서드는 목록 b의 요소만 포함하는 IEnumerable을 반환한다는 점에 유의하는 것이 중요합니다.
사용 예
다음을 고려하세요. 예:
List<string> colors1 = new List<string> { "Red", "Blue", "Yellow" }; List<string> colors2 = new List<string> { "Orange", "Pink", "Green" }; Console.WriteLine("Original Lists:"); Console.WriteLine(string.Join(",", colors1)); Console.WriteLine(string.Join(",", colors2)); colors1.AddRange(colors2); Console.WriteLine("Combined List with Duplicates:"); Console.WriteLine(string.Join(",", colors1)); var colors3 = colors1.Concat(colors2); Console.WriteLine("Combined List without Duplicates:"); Console.WriteLine(string.Join(",", colors3));
출력:
Original Lists: Red,Blue,Yellow Orange,Pink,Green Combined List with Duplicates: Red,Blue,Yellow,Orange,Pink,Green,Orange,Pink,Green Combined List without Duplicates: Red,Blue,Yellow,Orange,Pink,Green
위의 코드는 중복 항목이 있거나 없는 목록을 결합하기 위해 AddRange 및 Concat 메서드를 사용하는 방법을 보여줍니다.
위 내용은 중복 항목을 처리하고 원본 목록을 보존하면서 C#에서 여러 목록을 효율적으로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!