목록 제거 여러 반복 항목
C#에서 수집 관리는 일반적인 작업입니다. 때로는 목록에서 반복 요소를 삭제해야합니다. 이는 데이터 청소 또는 고유 한 가치 찾기와 같은 다양한 프로그래밍 시나리오의 일반적인 수요입니다. 다행히도이를 달성하는 방법에는 여러 가지가 있습니다.
LINQ (.NET 3 이상에 적합)
가장 간단하고 쉽게 읽을 수있는 솔루션 중 하나는 LINQ (언어 통합)를 사용하는 것입니다. 이 기능은 .NET 3에 도입되어 데이터를 쿼리하고 전달하는 명령문 메소드를 제공합니다. 다음은 LINQ의 예입니다 :
목록의 반복 요소를 필터링하고 고유 한 요소 만 포함하는 새 목록 를 반환합니다. 메소드 생성 된
를 로 변환합니다.
이미 LINQ 표현식을 사용하는 경우이 방법은 매우 편리합니다.
또 다른 선택은 빠른 검색과 효율적인 반복 감지를 위해 설계된 수집 유형 인 Hashset을 사용하는 것입니다. 다음은이 작업을 수행 할 수있는 메소드입니다.
처음에는 비어 있습니다. 우리는 에서 각 프로젝트를 가로 지르고 컬렉션에 추가하려고했습니다. 해시셋은 반복 할 수 없으므로 유일한 프로젝트 만 성공적으로 추가 할 수 있습니다. 마지막으로 생성 된 컬렉션은 를 사용하여 목록으로 돌아갑니다.
이 방법은 삽입 및 검색 작업을위한 O (N) 성능을 제공합니다.
<code class="language-csharp">List<T> withDupes = LoadSomeData();
List<T> noDupes = withDupes.Distinct().ToList();</code>
로그인 후 복사
위 내용은 C# 목록에서 중복을 효율적으로 제거하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!