信息
您所需的主题如下所示。但此主题未包含在此库中。

Collection<T>.Clear 方法

2013/12/13

Collection<T> 中移除所有元素。

Namespace:  System.Collections.ObjectModel
程序集:  mscorlib(位于 mscorlib.dll 中)

Count 被设置为零,并且集合中的元素对其他对象的引用也被释放。

此方法的运算复杂度为 O(n),其中 nCount

对继承者的说明

派生类能够重写 ClearItems,以更改此方法的行为。

下面的代码示例演示了 Collection<T> 的很多属性和方法。此代码示例创建一个字符串集合,使用 Add 方法添加若干个字符串,显示 Count,并列出这些字符串。此示例使用 IndexOf 方法查找字符串的索引,并使用 Contains 方法确定集合中是否存在某一字符串。此示例使用 Insert 方法插入字符串,并使用默认的 Item 属性(C# 中的索引器)检索和设置字符串。此示例使用 Remove 方法按字符串标识移除字符串,并使用 RemoveAt 方法按索引移除字符串。最后,使用 Clear 方法清除集合中的所有字符串。


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
 */


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: