[C# 문법] C# 배열 또는 리스트에서 중복된 데이터의 개수 구하는 방법


 

안녕하세요~

 

이번에는 C# 문법에서 배열 또는 리스트에 저장되어 있는 데이터를 서로 비교하여 중복된 데이터의 개수가 몇 개인지 구하는 방법에 대해서 간단히 코드와 함께 설명을 드리고자 합니다!

 

크게 어려운 부분 없으니까 바로 예시를 통하여 알려드릴게요~

 

시나리오


1.   문자열 배열 2개를 선언 (배열의 데이터는 아무거나 상관 없음)

2.   반복문을 통하여 각 배열 또는 리스트에 들어있는 데이터 중복 검사를 진행

3.   A라는 배열에 있는 데이터가 B에도 매칭이 되면 count 증가 시켜서 중복된 데이터의 개수를 구함


 

제가 앞에서 예시로 보여드린 내용을 토대로 아래 C# 코드를 작성하였습니다!


 

소스코드


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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace test

{

    class Program

    {

        static void Main(string[] args)

        {

            string[] tmpData = { "1""2""3""3""4""4""5""6" };

            string[] Data = { "1""2""9" };

 

            int count = 0;

 

            //매칭 로직 (중복된 데이터 개수 구하는 로직)

            for(int i = 0; i <  tmpData.Length; i++)

            {

                string tmpNumber = tmpData[i].ToString();

 

                for(int k = 0; k < Data.Length; k++)

                {

                    string number = Data[k].ToString();

 

                    if(number == tmpNumber)

                    {

                        count++;

                    }

                }

            }

 

            Console.WriteLine("tmpData 배열과 Data 배열의 

중복된 문자 개수 = {0} 입니다.", count);

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과


 

간단히 위의 소스코드를 설명 드리자면 먼저 2개의 배열을 선언 하였습니다.

 

배열의 변수명은 각각 tmpData, Data 이렇게 되구요.

각 배열 안에는 숫자들을 담아서 저장을 하고 있습니다!

 

그럼 여기서 이제 핵심은 바로 for문 반복문 내부입니다.

 

번째 for문에서는 먼저 tmpData 배열의 Lenth(count) 만큼 반복을 하여 먼저 string tmpNumber라는 변수에 tmpData를 하나씩 

저장을 합니다! 



그리고 두 번째 반복문에서는 Data 배열의Lenth(count) 만큼 반복을 하여 string numberData를 하니씩 저장을 합니다!


그리고 나서 if문을 통하여 number == tmpNumber 같은게 있으면 count++ 를 통하여 해당 두 배열의 현재 중복된 데이터가 몇 개 있는지를 구해 보았습니다ㅎㅎ

 

소스코드는 매우 간단하기 때문에 이해하시는데 어려운 부분을 없을 것이라 생각 듭니다ㅎㅎ

 

글 읽어 주셔서 감사합니다~~


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY