0
을 사용하여 특정 사용자 정의 클래스의 대량 (50-100)을 저장하려면 "포스터"라고합니다. 아는 한 List<>
이상의 많은 수의 항목에 HashSet<>
을 사용하면 성능상의 이점이 있습니다. 그러나이 성능 향상을 이용하려면이 두 가지를 모두 정의해야합니까?HashSet 내부의 사용자 정의 클래스 <>
public bool Equals(Poster a, Poster b)
public int GetHashCode(Poster obj)
UPDATE : 다음을 구현하는 방법을 찾고있는 누군가를 위해,이 내가했던 방법입니다
public bool Equals(PosterImage a, PosterImage b)
{
return (a.ApiId == b.ApiId);
}
public int GetHashCode(PosterImage obj)
{
return ((PosterImage) obj).ApiId.GetHashCode();
}
[어떤지 요소를 비교 HashSet의 않는 방법]의 중복 가능성 (http://stackoverflow.com/questions/8952003/how-does-hashset-compare-elements- 동등성) – BartoszKP
어떤 종류의 성능 혜택을 얻으려고합니까? 해시 집합에있는 항목의 존재 여부를 확인하는 것이 목록보다 훨씬 빠르지 만, 다른 경우에는 다소 느려집니다. – Guffa
이것은 꽤 많은 장소에서 사용될 것입니다. HashSet을 데이터 레이어에서 반환하여 다른 많은 방법으로 사용할 수 있기를 기대하면서 평균적으로 가장 효율적인 방법을 찾고 있습니다. –
IKnowledge