[C# 문법] C# Contains 대소문자 구분 없이 비교하는 방법


안녕하세요.

 

오늘은 C#에서 문자열을 비교할 때, Contains 메서드를 많이 이용하는데요.

 

Contains를 이용하여 문자열을 비교할 때에 대소문자를 구분한다는 사실 알고 계셨나요?

 

예를 들어, “APPLE”, “apple” 이 두개의 문자열을 Contains를 이용하면 다르게 비교를 합니다.

 

그렇다면, Contains를 이용하여 대소문자 구분없이 비교를 못하는건가?! 


결론적으로는 그렇지 않습니다. Contains를 이용하여 대소문자 구분없이 비교가 가능한데요.


 

바로, StringComparer.OrdinalIgnoreCase 옵션을 주면 되는데요.


 

실제 예제코드를 통해서 어떻게 사용하는지 확인해 보도록 하겠습니다.


예제 코드


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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace stringTest

{

    class Program

    {

        static void Main(string[] args)

        {

            List<string> list = new List<string>();

 

            list.Add("APPLE");

 

            string str = "apple";

 

            //그냥 Contains 이용하여 비교

            if (list.Contains(str))

            {

                Console.WriteLine("둘이 문자가 같습니다.");

            }

            else

            {

                Console.WriteLine("둘이 문자가 다릅니다.");

            }

 

            Console.WriteLine("---------------------------------------------");

 

            //StringComparer.OrdinalIgnoreCase 옵션 이용하여 비교

            if (list.Contains(str, StringComparer.OrdinalIgnoreCase))

            {

                Console.WriteLine("둘이 문자가 같습니다.");

            }

            else

            {

                Console.WriteLine("둘이 문자가 다릅니다.");

            }

        }

    }

}

 

Colored by Color Scripter

cs


실행 결과



위와 같이 StringComparer.OrdinalIgnoreCase 옵션을 주고 안줌으로써, 대소문자를 비교 유무 차이가 있는 것을 확인하실 수 있습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY