본문 바로가기
반응형

equals2

C# 문자열 비교하기 ==연산자 vs Equlas() 메서드 == 연산자로 비교하기C#에서 두 문자열을 비교하는 가장 쉬운 방법은 (==) double equals 연산자를 사용하는 것이다.  해당 연산자는 대소문자를 고려하여 각각의 문자가 동일한지 체크한다. string name1 = "Alice";bool isEqual = (name1 == "Alice"); // Returns true해당 경우에서 name1을 문자열 "Alice"와 비교한다. 대소문자를 포함해도 두 문자는 동일하다. 그래서 결괏값은 true가 나온다. bool isEqualLower = (name1 == "alice"); // Returns false하지만 name1을 문자열 "alice"와 비교한 경우는 대소문자가 서로 다르기 때문에 결과값이 false로 나온다.Equals() 메서드로 비.. 2024. 11. 27.
C# Equals()과 GetHashCode()를 함께 재정의 해야하는 이유 우리가 맞이하는 상황 프로그래밍을 하다보면 하나 이상의 필드를 Key값으로 설정하여 비교하게 되는 경우가 생기게 됩니다. 그리고 평소처럼 분명 같은 키값을 가진 객체를 ContainsKey() 함수로 비교하면 일치하지 않는다고 나올겁니다. hash 값을 사용하는 Collection(HashTable, Dictionary, ConcurrentDictionary)에서 ContainsKey로 실행하면 우선 GetHashCode() 메서드를 비교하고 그 다음에 Equals() 메서드를 실행합니다. 아무리 Equals() 메서드를 열심히 변경해도 그 앞쪽에서 비교가 일어나서 메서드가 실행되지 않습니다. 이 문제를 해결하기 위하여 하나 이상의 필드를 Key값으로 비교하기 위해서는 해당 클래스의 Equals 함수와 .. 2023. 3. 23.