어떤 종류의 테이블 구조를 저장하는 클래스를 작성하고 있습니다.이 경우 어떤 컬렉션을 사용해야합니까?
이제이 테이블 구조의 각 열에는 이름과 색인이 있습니다.
이제이 열의 각 행이 반복되며 데이터의 경우 인덱스의 경우가 아니라 열의 이름을 사용하여 데이터의 90 %가 요청됩니다.
그래서 열을 저장하는 데 좋은 데이터 구조가있어서 이름을 기반으로 색인을 매우 빠르게 검색 할 수 있습니다. 지금 나는 간단한 문자열 []을 사용하고 있습니다. 그러나 이것을 수행하는 더 빠른 방법이 있는지 궁금합니다. 코드의
부품 : 그들이 설정 한 후 열
private string[] _columns;
private int _width;
private int getIndex(string columnName)
{
for (int i = 0; i < _width; i++)
{
if (_columns[i] == columnName) return i;
}
return -1;
}
이름은 일정하게 될 것이며, 그들은 대부분이 약 10 ~ 16 자입니다.
미리 감사드립니다.
사전 http://msdn.microsoft.com/en-us/library/xfhwa508.aspx –
나는 사전이 키에 의해 데이터를 저장하는 데 사용 된 것으로 생각했지만, 다른 방법으로 생각됩니다. 어쨌든 벤치 마크 할 것입니다. – Aidiakapi
얼마나 자주 컬렉션에 물건을 추가/제거 하시겠습니까? – Nix