, 페이지는 정의 이 배열의 누구든지 가장 안쪽에있는 부유물 크기를 늘리는 방법을 말할 수 있습니까? 실패 1효율적으로 사전 내에서 사용 권투없는 값의 배열, 크기를 조정하는 방법 <문자열을 떠 []> 아래의 코드에서
var tt = currentContainer.Pages[dateTime];
Array.Resize<float>(ref tt, currentContainer.Pages.Count + 1);
나는 다음 코드를 시도하고 범위 예외에서 인덱스를 얻을
SortedDictionary<DateTime, float[]> Pages = new SortedDictionary<DateTime,float[]>();
float[] xx = new float[1];
xx[0] = 1;
DateTime tempTime = DateTime.UtcNow;
Pages.Add(tempTime, xx);
var tt = Pages[tempTime];
Array.Resize<float>(ref tt, Pages.Count + 1);
Pages[tempTime][1] = 2;
실패 2
다음은 컴파일 타임 오류를 (제공 속성, 인덱스 또는 동적 멤버를 참조 값으로 사용할 수 없음)
SortedDictionary<DateTime, float[]> Pages = new SortedDictionary<DateTime,float[]>();
float[] xx = new float[1];
xx[0] = 1;
DateTime tempTime = DateTime.UtcNow;
Pages.Add(tempTime, xx);
var tt = Pages[tempTime];
// The line below is different from Fail 1 above ... compile time error
Array.Resize<float>(ref Pages[tempTime], Pages.Count + 1);
Pages[tempTime][1] = 2;
질문
이 배열의 크기를 조정하는 가장 성능이 좋은 대답은 무엇입니까?
최종 크기가 100-200 floats 또는 700-900 floats가 될 가능성이 있다면 답변이 변경됩니까?
할당 크기를 +1에서 +128 사이로 변경하면 어떻게됩니까? .. 아니면 더 커? 사용 List<T>
그냥'SortedDictionary 사용하지 않는 이유가 <날짜 시간이 목록>'대신? 크기를 조정할 필요는 없습니다. 목록에서 Add()를 호출하기 만하면됩니다. ??? –
목록 또는 링크 된 목록이 수레의 순서를 보장합니까? 그것은 저에게 아주 중요합니다. – LamonteCristo
목록 내 플로트 값 유형에 대한 boxing/unboxing이 많이 발생합니다. 아마도 최선의 선택이 아닐 것입니다. –
LamonteCristo