StringCollection.Remove(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes the first occurrence of a specific string from the 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)
Parameters
- value
- String
The string to remove from the StringCollection. The value can be null
.
Examples
The following code example removes elements from the StringCollection.
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void PrintValues( IEnumerable^ myCol );
int main()
{
// Creates and initializes a new StringCollection.
StringCollection^ myCol = gcnew StringCollection;
array<String^>^myArr = {"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 );
}
void PrintValues( IEnumerable^ myCol )
{
IEnumerator^ myEnum = myCol->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
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:
*/
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:
'
Remarks
Duplicate strings are allowed in StringCollection. Only the first occurrence is removed. To remove all occurrences of the specified string, use RemoveAt(IndexOf(value))
repeatedly while IndexOf does not return -1.
If the StringCollection does not contain the specified object, the StringCollection remains unchanged. No exception is thrown.
In collections of contiguous elements, such as lists, the elements that follow the removed element move up to occupy the vacated spot. If the collection is indexed, the indexes of the elements that are moved are also updated. This behavior does not apply to collections where elements are conceptually grouped into buckets, such as a hash table.
This method determines equality by calling Object.Equals. String comparisons are case-sensitive.
This method performs a linear search; therefore, this method is an O(n
) operation, where n
is Count.