2011-02-02 4 views
1

removeRange 함수를 사용하여 목록에서 몇 개의 요소를 제거하지만 목록의 Count는 그대로있는 것처럼 보입니다. 따라서 예상 한대로 작동하지 않는다고 가정합니다 .... 그래서, 어떻게 요소를 제거합니까? 내 말은 목록의 백작 값을 궁극적으로 줄이십시오.List (Of T)에서 요소 제거

+1

처럼해야하지만 lstPersons.RemoveRange(..)

lstPersonsPersons 클래스의 List라는 이름이 있다고 가정 입니다 요소를 제거하고 개수를 확인하는 방법의 예는 무엇입니까? –

답변

3

RemoveRange 실제로 작동합니다. 첫 번째 인수는 제거를 시작하려는 인덱스이고 두 번째 인수는 제거 할 요소의 수입니다.

: 그래서

Dim list = New List(Of Integer) From {1, 2, 3} 
list.RemoveRange(0, 2) 
Console.WriteLine(list.Count) 

위 코드에서 출력 "1"의 요소와 12을 제거한다 (제거 후리스트의 요소 수).

0

List(Of T).RemoveRange 함수는 자리 제거를 수행하므로 Count 속성을 수정해야합니다. Count 항목을 수정하지 않거나 예외가 발생하는 유일한 방법은 count 매개 변수에 0을 전달하는 것입니다.

-1

나는 당신이 무엇을 생각은 우리가 어쩌면 우리가 짧은 볼 수는

lstPersons = lstPersons.RemoveRange(..)

+0

이것은 완전히 잘못되었습니다. 'RemoveRange'는'Public Sub RemoveRange (index As Integer, 정수로 계산)'로 정의됩니다. 값을 반환하지 않습니다. –

+0

죄송합니다. 내 실수 –