Contains
Contains 는 안에 그게 들어 있는지를 확인하는 메서드이다.
결과는 항상 true / false 로 나온다.
컬렉션, 문자열 안에 특정 값이 존재하는지 검사하는 메서드
문법
문자열에서 Contains
string text = "Hello World";
bool hasHello = text.Contains("Hello"); // true
bool hasBye = text.Contains("Bye"); // false
특징
- 부분 문자열 검사
- 대소문자 구분
리스트 / 배열에서 contains
List<int> numbers = new List<int> { 1, 2, 3 };
bool hasTwo = numbers.Contains(2); // true
bool hasFive = numbers.Contains(5); // false
int[] arr = { 10, 20, 30 };
bool result = arr.Contains(20); // true
특징
- 값이 하나라도 있으면 true
- 내부적으로 하나씩 비교 ( O(n) )
딕셔너리에서 Contains
딕셔너리에서의 Contains 문법은 조금 다르다
Dictionary<string, int> dict = new Dictionary<string, int>();
dict["apple"] = 3;
// 이렇게 쓰지 않는다
dict.Contains("apple"); // X
// 이렇게 쓴다
dict.ContainsKey("apple"); // true
dict.ContainsValue(3); // true
유니티에서의 Contains
▼ 입력 중복 방지
if (!inputList.Contains(key))
{
inputList.Add(key);
}
▼아이템 보유 체크
if (inventory.Contains(item))
{
Debug.Log("이미 가지고 있음");
}
주의할 점
- 대소문자 구분
- 클래스 타입일 경우 Equals() 기준으로 비교된다
- 리스트가 크면 성능 저하 , 자주 쓰면 HashSet 고려
LINQ Any 란?
bool result = collection.Any(조건);
- 컬렉션 안에 조건을 만족하는 요소가 하나라도 있는지
- 반환값 : bool
- System.Linq 필요
List<int> nums = new() { 1, 3, 5, 8 };
bool hasEven = nums.Any(n => n % 2 == 0);
Debug.Log(hasEven); // True
정리
Contains 는 문자열 / 컬렉션에 "있는지?" 를 bool 로 확인하는 도구이다.
대소문자 / 비교 기준 / 자료구조 성능 차이를 알고 사용하면 실전에서 훨씬 안전하다.
참고 자료
https://learn.microsoft.com/ko-kr/dotnet/api/system.string.contains?view=net-8.0
'⭐C Sharp > 00. 문법' 카테고리의 다른 글
| 정규표현식 ( Regex ) (0) | 2026.02.17 |
|---|---|
| 선택적 매개변수 (0) | 2025.12.23 |
| 얕은 복사 vs 깊은 복사 (0) | 2025.10.19 |
| 애트리뷰트 ( C# Attribute ) (0) | 2025.10.14 |
| IsNumeric (0) | 2025.10.08 |