2012-10-15 3 views
1

내가 asp.net에 새로 온 사람 ArrayList에로 인덱스로 요소를 삽입하고 난 위의 코드 라인 등 [1 ArrayList를asp.net은

al.Add((string)"asfsaf"); 
al[1] = "bcd"; 
al.TrimToSize(); 

Response.Write(al[1]); 

에 대해 배울 몇 가지 코드를 쓰고 있어요 ] = "bcd"; arraylist는 인덱스로 요소를 삽입합니까? 그렇지 않은 경우 다른 데이터 구조를 대체 할 수 있습니까?

감사

답변

3

아래로를 취소하려면()을 시도 할 수 있습니다 : 당신이 인덱서를 통해 그것을 사용하기 전에

al.Insert(1, "bcd"); 
+0

목록에 요소가 없으면 실패합니다. – Habib

+0

al.Insert (0, "bcd"); 괜찮아. – hkguile

1

편집 : 당신은 직접 목록에서 인덱스를 기반으로 삽입 할 수 없습니다, 당신은 단지 설정을 사용할 수 있습니다 (수정)/인덱스에 값을 가져옵니다. 이


존재하는 경우 당신은뿐만 아니라 ArrayList에와 색인을 사용하지만, 대신 ArrayList를의 일반 List을 사용할 수 있습니다. 그것의 유형 안전. 인덱스 기반의 삽입도 지원합니다. 당신이

List<string> list = new List<string>(); 
list.Add("first element"); 
list.Add("2nd element"); 

Console.Write(list[0]); 
Console.Write(list[1]); 

list[0] = "AAA - element"; //In actual its a modification, 
          //if there is no element, there will b exception 
list[1] = "BBB - element"; 

가 직접 인덱스를 기반으로 목록의 요소를 설정할 수 없습니다 기억 인덱스를 사용할 수 있습니다 ArrayList

.

+0

색인을 기반으로 한 삽입이라고하지는 않지만 색인 기반의 수정이라고합니다. –

+0

@DaveDoknjas, 당신은 직접 목록에 색인을 기반으로 삽입 할 수는 없다고 생각합니다. 색인에 값을 설정/가져올 수만 있습니다. 존재하는 경우 – Habib

+0

제거 list.Add ("first element"); list.Add ("두 번째 요소"); 스크립트가 잘못되었습니다. – hkguile

0

등 [1]을 작성해야합니다.

al[1] = "bcd";ArgumentOutOfRangeException이됩니다.

배열 인덱스는 0부터 시작한다는 것을 기억하십시오.

덮어 쓰려면이 형식이어야합니다.

al[0] = "bcd";