2013-02-15 2 views
-3

하나씩 값을 저장하는 배열 컨트롤을 사용하고 있습니다.새로 고침 배열 요소

이제 요소 중 하나를 삭제하고 동시에 새로 고쳐야합니다. 아래에 언급 된 것처럼 예를 들어

는 ....
string[] arr= new string(25); 

arr[0]="A"; 
arr[1]="B"; 
arr[2]="C"; and so on.... 

지금 arr[1]=null;

를 통해 두 번째 요소를 삭제 한 후 나는

arr[0]="A"; 
arr[1]="C"; and so on.... 

도와주세요 ... 새로 배열을 원하는 ...

미리 감사드립니다.,

+1

http://stackoverflow.com/questions/457453/remove-element-of-a-regular-array – Habib

+0

만들에 나는 이미지의 배열을 사용하고 당신에게에 대한 모든 일반적인 아이디어를 제공하기 위해 더 명확 내 probi 내가 위의 예제를 사용 – neerajMAX

+0

@ neerajMAX : 왜 당신이 사용하는 레이의 유형이 중요합니까? –

답변

8

배열이 아닌 List<string>을 사용해야하는 것처럼 들리지만 정확하게 설명하는 기능을 제공합니다.

배열은 크기를 조정할 수 있지만 (감사합니다 @ Austin Brunkhorst), 이것은 "저렴한"것이 아니므로 모든 것을 자신 주위로 이동해야합니다.

많은 삽입 및 제거 목록은 매우 비효율적 일 수 있으므로 LinkedList<string>을 사용하는 것이 좋습니다. 여기에는 장점과 단점이 있습니다. 자세한 내용은 Google linked list을 참조하십시오.

+0

배열은'Array.Resize ()'을 사용하여 동적으로 크기를 조정할 수 있습니다. –

3

배열의 크기를 조정하려면 새 요소를 만들어 이전 요소에서 새 요소로 복사해야합니다.

arr = arr.Where(s => s != null).ToArray(); 

당신이 List.Remove 또는 List.RemoveAt 같은 방법을 사용할 수있는 List<string>을 사용합니다.

2

당신이 추가/컬렉션을 많이에서 임의의 위치에서 항목을 삭제 수 있습니다 경우에, 당신은 LinkedList<string> 대신

3

당신이, 당신이 배열을 사용해야 정적 데이터 량을 가질 때 때 사용하는 더 나을 것 List <>을 사용해야하는 다이나믹 데이터가 있습니다. 당신이 목록에 갈 수 대신 배열의

관련 문제