저는 몇 가지 클래스로 간단한 응용 프로그램을 만들고 있습니다. 이 모든 것은 에서 Remove
메서드를 사용하려고 할 때 시작되었습니다. 이 방법을 사용하려면 Car
유형의 Equals
및 GetHashCode
메서드를 재정의해야합니다. 이 상황에서 나는 Car
클래스에 ID 속성을 구현하기로 결정했습니다. 그렇게하면 내 Equals
메서드는 단순히 ID 일치를 확인하고 내 GetHashCode
메서드는 base.GetHashCode()
을 반환합니다.클래스에 대한 GUID를 사용하는 경우
이것은 좋은 접근 방법입니까, 아니면 너무 무거운 작은 클래스에 대한 GUID를 구현하고 있습니까? 위에서 설명한 이유가 없으면 그럴 필요가 없습니다. 이 Car 유형의 고유성에 대한 유일한 요구 사항은 속한 List<T>
컬렉션 내에서 고유해야한다는 것입니다. GUID 속성을 추가하는 것은 GetHashCode
주변의 가장 빠른 방법처럼 보였습니다. BTW, 내 차 유형에 int 속성이 없습니다.
그냥 명확히하기 위해서는 ['EqualityComparer'] (HTTP를 사용 기본적으로 오버라이드 (override)를 필요로하지 않는'Remove' 방법 : // msdn.microsoft.com/en-us/library/cd666k3e.aspx). –
그게 도움이 아담, 감사합니다; 나는 단지 기본 구현을 사용하고 있었지만 목록에있는 객체를 제거하지는 않았습니다. 그래서 저는 여러분이 Equals()를 오버라이드 (override) 할 필요가있는 것과 같은 소리를내는 자료를 읽고 발견했습니다. GetHashCode()를 재정의해야했습니다. –