[C# 문법] C# Linq를 이용하여 List와 List 비교하기

안녕하세요.

 

오늘은 C# 에서 Linq 문법에 대해서 알아 보려고 합니다.

 

 그 중에서도, 서로 다른 List 2개가 있는데 해당 ListLinq 구문을 이용해서 문자열 비교 하는 방법을 보여 드리도록 하겠습니다.

 

다른 설명 없이 바로 예제 코드를 통해서 보여 드리겠습니다.

 

 

예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace LinqTest
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> test1 = new List<string>();           
            List<string> test2 = new List<string>();
 
            //test1 리스트에 데이터 저장
            test1.Add("범범조조");
            test1.Add("안정환");
            test1.Add("김성주");
 
            //test2 리스트에 데이터 저장
            test2.Add("범범조조");
            test2.Add("아이유");
            test2.Add("백현");
 
            //test1 리스트 출력
            Console.WriteLine("----------test1 리스트 출력----------");
            foreach (var item in test1)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();
 
            //test2 리스트 출력
            Console.WriteLine("----------test1 리스트 출력----------");
            foreach (var item in test2)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();
 
            //Linq 구문 이용해서 현재 test1, test2 리스트에서 중복인 사람 조회
            var result = test1
                         .Where(x => test2.Count(s => x.Contains(s)) != 0)
                         .ToList();
 
            //중복된 사람 이름
            foreach(var item in result)
            {
                Console.WriteLine($"test1, test2 리스트에서 중복된 사람은 {item} 입니다.");
            }
        }
    }
}
 
cs

 

실행 결과

위와 같이 test1, test2 서로 다른 2개의 List 컬렉션이 있는데, 여기서 지금 범범조조라는 이름을 가진 사람이 test1, test2 각각 있는 것을 확인하였고 Linq 구문을 이용해서 현재 2개의 리스트에서 중복되어 있는 사람이 범범조조이름을 가진 사람이라는 것을 확인할 수 있습니다.

 

Linq는 공부하면 할수록 참 유용한 기능인 것 같네요!ㅎㅎ

 

글 읽어 주셔서 감사합니다.^^

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY