StringCollection.Remove(String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
에서 특정 문자열의 첫 번째 항목을 제거합니다 StringCollection.
public:
void Remove(System::String ^ value);
public void Remove(string value);
public void Remove(string? value);
member this.Remove : string -> unit
Public Sub Remove (value As String)
매개 변수
- value
- String
에서 제거할 문자열입니다 StringCollection. 값은 .일 null수 있습니다.
예제
다음 코드 예제에서는 .에서 StringCollection요소를 제거합니다.
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesStringCollection {
public static void Main() {
// Creates and initializes a new StringCollection.
StringCollection myCol = new StringCollection();
String[] myArr = new String[] { "RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED" };
myCol.AddRange( myArr );
Console.WriteLine( "Initial contents of the StringCollection:" );
PrintValues( myCol );
// Removes one element from the StringCollection.
myCol.Remove( "yellow" );
Console.WriteLine( "After removing \"yellow\":" );
PrintValues( myCol );
// Removes all occurrences of a value from the StringCollection.
int i = myCol.IndexOf( "RED" );
while ( i > -1 ) {
myCol.RemoveAt( i );
i = myCol.IndexOf( "RED" );
}
Console.WriteLine( "After removing all occurrences of \"RED\":" );
PrintValues( myCol );
// Clears the entire collection.
myCol.Clear();
Console.WriteLine( "After clearing the collection:" );
PrintValues( myCol );
}
public static void PrintValues( IEnumerable myCol ) {
foreach ( Object obj in myCol )
Console.WriteLine( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
Initial contents of the StringCollection:
RED
orange
yellow
RED
green
blue
RED
indigo
violet
RED
After removing "yellow":
RED
orange
RED
green
blue
RED
indigo
violet
RED
After removing all occurrences of "RED":
orange
green
blue
indigo
violet
After clearing the collection:
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesStringCollection
Public Shared Sub Main()
' Creates and initializes a new StringCollection.
Dim myCol As New StringCollection()
Dim myArr() As [String] = {"RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED"}
myCol.AddRange(myArr)
Console.WriteLine("Initial contents of the StringCollection:")
PrintValues(myCol)
' Removes one element from the StringCollection.
myCol.Remove("yellow")
Console.WriteLine("After removing ""yellow"":")
PrintValues(myCol)
' Removes all occurrences of a value from the StringCollection.
Dim i As Integer = myCol.IndexOf("RED")
While i > - 1
myCol.RemoveAt(i)
i = myCol.IndexOf("RED")
End While
Console.WriteLine("After removing all occurrences of ""RED"":")
PrintValues(myCol)
' Clears the entire collection.
myCol.Clear()
Console.WriteLine("After clearing the collection:")
PrintValues(myCol)
End Sub
Public Shared Sub PrintValues(myCol As IEnumerable)
Dim obj As [Object]
For Each obj In myCol
Console.WriteLine(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'Initial contents of the StringCollection:
' RED
' orange
' yellow
' RED
' green
' blue
' RED
' indigo
' violet
' RED
'
'After removing "yellow":
' RED
' orange
' RED
' green
' blue
' RED
' indigo
' violet
' RED
'
'After removing all occurrences of "RED":
' orange
' green
' blue
' indigo
' violet
'
'After clearing the collection:
'
설명
에서 중복 문자열이 허용 StringCollection됩니다. 첫 번째 항목만 제거됩니다. 지정된 문자열의 모든 항목을 제거하려면 -1을 반환하지 않는 동안 RemoveAt(IndexOf(value)) 반복적으로 사용합니다IndexOf.
지정한 StringCollection 개체 StringCollection 가 없으면 변경되지 않은 상태로 유지됩니다. 예외가 던져지지 않습니다.
목록과 같은 연속 요소 컬렉션에서 제거된 요소를 따르는 요소가 위로 이동하여 비워진 지점을 차지합니다. 컬렉션이 인덱싱되면 이동되는 요소의 인덱스도 업데이트됩니다. 이 동작은 해시 테이블과 같이 요소가 개념적으로 버킷으로 그룹화되는 컬렉션에는 적용되지 않습니다.
이 메서드는 을 호출 Object.Equals하여 같음을 결정합니다. 문자열 비교는 대/소문자를 구분합니다.
이 메서드는 선형 검색을 수행합니다. 따라서 이 메서드는 O(n) 작업입니다. 여기서 n 는 다음과 같습니다 Count.