2011-05-11 7 views
1

나는 int> 컬렉션 < 있습니다.컬렉션 도움말

1 
2 
3 

예를 들어 2를 제거하면 컬렉션이 1,3이됩니다. 나는 다른 항목을 추가 갈 때 순서가 수집

에있는 항목의 수를 기반으로하고 있기 때문에 그러나 목록 순서를 다시 할 수있는 쉬운 방법이

1 
3 
3 

된다. 위의 예는 1,3을 보여주고 있는데 위의 예는 1,2로 순서를 바꾸어야하고 그 다음 새 항목은 3이 될 것입니다.

답변

0

당신은 당신의 목록이 Enumerable.Range를 사용하여 개체를 제거 할 때마다 다시 쓸 수있다, 그래서 당신의 코드는 다음과 같이 될 것이다 :

//execute this after remove element 
void Resequence() 
     { 
      myList = Enumerable.Range(1, myList.Count).ToList(); 
     } 

그래서 추가이

void AddElement(){ 
    myList.Add(myList.Count + 1); 
} 
같은 것

참고 : add 요소에서 목록이 0 인 경우 +1을 제거해야합니다.

2

여러분의리스트는 정수 변수로 대체 될 수 있습니다. 여기서 "저장"은 목록에있는 항목의 (1 기준) 색인입니다. 1에서 n까지 "목록"을 작성하면 int count = n이됩니다. 항목이 목록에 있는지 테스트하면 if (item <= count)이됩니다. 항목을 추가하면 count++이되며 count--은 삭제됩니다.