StringCollection.Remove(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Entfernt das erste Vorkommen einer bestimmten Zeichenfolge aus der 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)
Parameter
- value
- String
Die zu entfernende Zeichenfolge aus dem StringCollection. Der Wert kann sein null.
Beispiele
Im folgenden Codebeispiel werden Elemente aus dem StringCollectionCodebeispiel entfernt.
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:
'
Hinweise
Doppelte Zeichenfolgen sind zulässig in StringCollection. Nur das erste Vorkommen wird entfernt. Um alle Vorkommen der angegebenen Zeichenfolge zu entfernen, verwenden Sie RemoveAt(IndexOf(value)) wiederholt, ohne IndexOf -1 zurückzugeben.
Wenn das StringCollection angegebene Objekt nicht enthalten ist, bleibt dies StringCollection unverändert. Es wird keine Ausnahme ausgelöst.
In Sammlungen zusammenhängender Elemente, z. B. Listen, werden die Elemente, die dem entfernten Element folgen, nach oben verschoben, um den leerten Ort zu belegen. Wenn die Auflistung indiziert ist, werden auch die Indizes der verschobenen Elemente aktualisiert. Dieses Verhalten gilt nicht für Sammlungen, bei denen Elemente konzeptionell in Buckets gruppiert sind, z. B. eine Hashtabelle.
Diese Methode bestimmt die Gleichheit durch Aufrufen Object.Equals. Bei Zeichenfolgenvergleichen wird die Groß-/Kleinschreibung beachtet.
Diese Methode führt eine lineare Suche durch; Daher handelt es sich bei dieser Methode um einen O()-Vorgang, bei dem n es sich um einen O(n)-Vorgang handeltCount.