[C# 문법] C# List<T> Linq 중복 검사 하기

목적

  • C# 에서 List<T> 형태의 컬렉션이 있다고 했을 때, Linq 로 보다 간단히 중복 검사 하는 로직에 대해서 알려 드리려고 합니다.
  • 매우 간단하기 때문에 바로 예제 코드를 작성하여 어떻게 중복 검사를 진행하는지 확인해 보도록 하겠습니다.

예제 코드

  • Member 라는 클래스를 만들었고, List<Member> 라는 멤버 객체를 저장하고 있는 리스트 컬렉션이 있습니다.
  • 여기서 새로운 멤버를 추가하는데, 해당 멤버가 포함되어있는지 확인하려면 간단히 Contains 메서드를 이용하면 보다 간단히 Linq 를 이용하여 중복 체크를 할 수 있습니다.

List<Member> members = new List<Member>()
{
    new Member()
    {
        Id = 1,
        Name = "Kim"
    },
    new Member()
    {
        Id = 2,
        Name = "Kim"
    }
};

// 중복 확인
var IsExistsMS = members.Contains(new Member() { Id = 1, Name = "Kim"});

Console.WriteLine(IsExistsMS);

var member1 = new Member() { Id = 101, Name = "Jo"};

//Using Query Syntax
var IsExistsQS = (from mem in members
                  select mem).Contains(member1);

Console.WriteLine(IsExistsQS);

// Entity
public class Member
{
    public int Id { get; set; }
    public string Name { get; set; }
}

실행 결과

  • 실행 결과, 중복 여부 체크가 정상적으로 이루어 진 것을 확인할 수 있습니다.
False
False
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY