2
문자열 속성을 사용하여 객체를 빨리 찾을 수있는 작업이 있습니다. 대상 :문자열 속성별로 빨리 찾기 객체
class DicDomain
{
public virtual string Id{ get; set; }
public virtual string Name { get; set; }
}
내 객체를 저장하기 위해 내가 사용 목록 [T] 사전 T는 지금 DicDomain입니다. 저는 5 백 10 개 목록을 가지고 있는데, 각 목록에는 약 500 ~ 20000 개의 목록이 들어 있습니다. 작업은 이름으로 개체를 찾습니다. 지금 다음 코드를 사용 : 나는 몇 가지 질문을 가지고
List<T> entities = dictionary.FindAll(s => s.Name.Equals(word, StringComparison.OrdinalIgnoreCase));
을 :
내 검색 속도가 최적입니다. 나는 지금 생각한다.
- 데이터 구조. 그것은이 일에 좋은 목록입니다. 해시 테이블은 어떻게 분류 되나요?
- 메소드 찾기. 나는 문자열 인턴을 사용해야합니까?
나는 이러한 작업을 많이하지 않았습니다. 증가 할 수있는 성능에 대해 좋은 조언을 해줄 수 있습니까? 감사
자주 100000 번 매일 :
작업은 그 후 간단한 해시 테이블 조회 할 것이다. 충고에 감사하다!!! 나는 그런 좋은 방법을 상상할 수 없다. Dictionary와 HashTable은 어떨까요? –
@Andrew : 짧은 대답 :'사전'. 긴 답변 : http://stackoverflow.com/questions/1089132/net-hashtable-vs-dictionary-can-the-dictionary-be-as-fast/1089142#1089142 –
StringComparison.OrdinalIgnoreCase 및 이것에 대해서는 어떻게됩니까? CaseInsensetive 검색을 구현하려면 어떻게해야합니까? –