나는 주위를 둘러 보았으나 아무도이 질문을하지 않은 것 같습니다. 그래서 여기에 있습니다.Int32.Equals vs '=='연산자
나는 IEquatable
인터페이스를 가질 사용자 지정 클래스에서 작업 중이므로 자신이 Equals
메서드를 만들고 있습니다. 다음은 그 모습입니다.
public bool Equals(QueryFilter qfilter)
{
if (qfilter == null)
{
return false;
}
return ((this.Value.Equals(qfilter.Value)) &&
(this.Name.Equals(qfilter.Name)) &&
(this.Order == qfilter.Order));
}
여기서 Value, Name 및 Order는 QueryFilter 클래스의 필드입니다. 값과 이름은 strings
입니다. 그러나 Order는 int
이고 ==
연산자를 사용하는 것이 좋습니까? 아니면 Int32.Equals
메서드를 사용해야하는지 다른 필드가 비교하는 방법과 일치하는지 궁금합니다. 나는 MSDN을 확인했지만 많이 설명하지는 않았으며, 단지 과부하라고 말했지만,이 상황에서 이것이 무엇을 의미하는지 확신 할 수 없다. ==
은 언제나 일하게 될 것입니까?
결론적으로 어느 것이 더 낫습니까? Int32.Equals
또는 ==
? 그리고 언제 각각 하나씩 사용해야합니까?
이 질문을보고 싶을 수도 있습니다 : http://stackoverflow.com/questions/7345970/c-default-implementation-for-and-operators-for-objects –