C# Contains 값이 존재하는지 확인하는 방법 및 예제

C#에서 문자열이나 배열, 리스트에 지정한 문자가 포함되어 있는지 또는 이미 등록되어 있는지 확인하는 방법으로 Contains 또는 정규 표현식을 사용합니다.

이번에는 Contains를 사용하여 문자열이나 배열, 리스트에 검색 문자가 포함되어 있는지 확인하는 방법을 알아보도록 하겠습니다.

문자열 검색

먼저 문자열 안에 지정한 문자가 포함되어있는지 확인하는 방법을 알아보겠습니다.

문자열 검색 예제

using System;
using System;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			string str = "Hello World!";
			string target = "W";

			if(str.Contains(target)) {
				Console.WriteLine("{0}를 찾았습니다.", target); 
			} else {
				Console.WriteLine("{0}를 찾지 못했습니다.", target);
			}

			Console.ReadKey();
		}
	}
}

결과

W를 찾았습니다.

위 샘플에서는 Contains 메서드를 이용해 지정 문자를 문자열에 포함하고 있는지 확인하고 있습니다.

Contains의 반환값은 True 또는 False를 반환합니다.

True – 존재하는 경우

False – 존재하지 않는 경우

List 요소 검색

리스트에 지정한 요소가 있는지 없는지 확인하는 방법을 보도록 하겠습니다.

List 요소 검색 예제

using System;
using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			string[] src = {"Seoul", "Busan", "Jeju"};
			var list = new List<string>();
			list.AddRange(src);
			string item = "Busan";

			if(list.Contains(item)) {
				Console.WriteLine("{0}을 찾았습니다.", item); 
			} else {
				Console.WriteLine("{0}을 찾지 못했습니다.", item);
			}

			Console.ReadKey();
		}
	}
}

결과 

Busan을 찾았습니다.

Contains를 사용하여 List에 등록된 요소를 검색하였습니다.

Contains의 반환값은 True 또는 False를 반환합니다.

True – 존재하는 경우

False – 존재하지 않는 경우

배열 요소 검색

배열인 Array 클래스에는 Contains 메서드가 존재하지 않습니다.

하지만 LINQEnumerable.Contains를 사용하여 배열도 값의 존재 여부를 확인할 수 있습니다.

Array Contains 예제

using System;
using System;
using System.Linq;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			string[] src = {"Seoul", "Busan", "Jeju"};
			string item = "Busan";

			if(src.Contains("Busan";)) {
				Console.WriteLine("{0}을 찾았습니다.", item); 
			} else {
				Console.WriteLine("{0}을 찾지 못했습니다.", item);
			}

			Console.ReadKey();
		}
	}
}

결과

Busan을 찾았습니다.

정리

C#Contains를 사용하여 문자열이나 리스트, 배열에 값이 존재하는지 확인하는 방법을 알아봤습니다.

리스트등에 값을 추가하는 경우에 중복된 값을 등록하지 않기 위해 판단하는 방법으로 사용을 할 수도 있습니다.

알아두면 여러 방면에서 유용하게 사용되는 메서드입니다.

댓글