Partilhar via


Collection<T>.Clear Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Removes all elements from the Collection<T>.

Namespace:  System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Sub Clear
public void Clear()

Implements

ICollection<T>.Clear()
IList.Clear()

Remarks

Count is set to zero, and references to other objects from elements of the collection are also released.

This method is an O(n) operation, where n is Count.

Notes to Inheritors

Derived classes can override ClearItems to change the behavior of this method.

Examples

The following code example demonstrates many of the properties and methods of Collection<T>. The code example creates a collection of strings, uses the Add method to add several strings, displays the Count, and lists the strings. The example uses the IndexOf method to find the index of a string and the Contains method to determine whether a string is in the collection. The example inserts a string using the Insert method and retrieves and sets strings using the default Item property (the indexer in C#). The example removes strings by string identity using the Remove method and by index using the RemoveAt method. Finally, the Clear method is used to clear all strings from the collection.

Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Public Class Example

    Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

        Dim dinosaurs As New Collection(Of String)

        dinosaurs.Add("Psitticosaurus")
        dinosaurs.Add("Caudipteryx")
        dinosaurs.Add("Compsognathus")
        dinosaurs.Add("Muttaburrasaurus")

        outputBlock.Text += String.Format("{0} dinosaurs:", dinosaurs.Count) & vbCrLf
        Display(outputBlock, dinosaurs)

        outputBlock.Text &= vbLf & String.Format("IndexOf(""Muttaburrasaurus"") {0}", _
          dinosaurs.IndexOf("Muttaburrasaurus")) & vbCrLf

        outputBlock.Text &= vbLf & String.Format("Contains(""Caudipteryx"") {0}", _
          dinosaurs.Contains("Caudipteryx")) & vbCrLf

        outputBlock.Text += String.Format(vbLf & "Insert(2, ""Nanotyrannus"")") & vbCrLf
        dinosaurs.Insert(2, "Nanotyrannus")
        Display(outputBlock, dinosaurs)

        outputBlock.Text += String.Format(vbLf & "dinosaurs(2): {0}", dinosaurs(2)) & vbCrLf

        outputBlock.Text &= vbLf & "dinosaurs(2) = ""Microraptor""" & vbCrLf
        dinosaurs(2) = "Microraptor"
        Display(outputBlock, dinosaurs)

        outputBlock.Text &= vbLf & "Remove(""Microraptor"")" & vbCrLf
        dinosaurs.Remove("Microraptor")
        Display(outputBlock, dinosaurs)

        outputBlock.Text &= vbLf & "RemoveAt(0)" & vbCrLf
        dinosaurs.RemoveAt(0)
        Display(outputBlock, dinosaurs)

        outputBlock.Text &= vbLf & "dinosaurs.Clear()" & vbCrLf
        dinosaurs.Clear()
        outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) & vbCrLf

    End Sub

    Private Shared Sub Display(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal cs As Collection(Of String))
        outputBlock.Text &= vbCrLf
        For Each item As String In cs
            outputBlock.Text &= item & vbCrLf
        Next item
    End Sub
End Class

' This code example produces the following output:
'
'4 dinosaurs:
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'IndexOf("Muttaburrasaurus"): 3
'
'Contains("Caudipteryx"): True
'
'Insert(2, "Nanotyrannus")
'
'Psitticosaurus
'Caudipteryx
'Nanotyrannus
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs(2): Nanotyrannus
'
'dinosaurs(2) = "Microraptor"
'
'Psitticosaurus
'Caudipteryx
'Microraptor
'Compsognathus
'Muttaburrasaurus
'
'Remove("Microraptor")
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'RemoveAt(0)
'
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs.Clear()
'Count: 0
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Collection<string> dinosaurs = new Collection<string>();

      dinosaurs.Add("Psitticosaurus");
      dinosaurs.Add("Caudipteryx");
      dinosaurs.Add("Compsognathus");
      dinosaurs.Add("Muttaburrasaurus");

      outputBlock.Text += String.Format("{0} dinosaurs:", dinosaurs.Count) + "\n";
      Display(outputBlock, dinosaurs);

      outputBlock.Text += String.Format("\nIndexOf(\"Muttaburrasaurus\"): {0}",
          dinosaurs.IndexOf("Muttaburrasaurus")) + "\n";

      outputBlock.Text += String.Format("\nContains(\"Caudipteryx\"): {0}",
          dinosaurs.Contains("Caudipteryx")) + "\n";

      outputBlock.Text += String.Format("\nInsert(2, \"Nanotyrannus\")") + "\n";
      dinosaurs.Insert(2, "Nanotyrannus");
      Display(outputBlock, dinosaurs);

      outputBlock.Text += String.Format("\ndinosaurs[2]: {0}", dinosaurs[2]) + "\n";

      outputBlock.Text += "\ndinosaurs[2] = \"Microraptor\"" + "\n";
      dinosaurs[2] = "Microraptor";
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\nRemove(\"Microraptor\")" + "\n";
      dinosaurs.Remove("Microraptor");
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\nRemoveAt(0)" + "\n";
      dinosaurs.RemoveAt(0);
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\ndinosaurs.Clear()" + "\n";
      dinosaurs.Clear();
      outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
   }

   private static void Display(System.Windows.Controls.TextBlock outputBlock, Collection<string> cs)
   {
      outputBlock.Text += "\n";
      foreach (string item in cs)
      {
         outputBlock.Text += item + "\n";
      }
   }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.