Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Collection<T>-Klasse

 

Veröffentlicht: Oktober 2016

Stellt die Basisklasse für eine generische Auflistung bereit.

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

System.Object
  System.Collections.ObjectModel.Collection<T>
    System.Collections.ObjectModel.KeyedCollection<TKey, TItem>
    System.Collections.ObjectModel.ObservableCollection<T>
    System.ComponentModel.BindingList<T>
    System.ComponentModel.SortDescriptionCollection
    System.IdentityModel.Protocols.WSTrust.RequestClaimCollection
    System.IdentityModel.Tokens.SecurityTokenHandlerCollection
    System.Net.IPEndPointCollection
    System.Net.Mail.AlternateViewCollection
    System.Net.Mail.AttachmentCollection
    System.Net.Mail.LinkedResourceCollection
    System.Net.Mail.MailAddressCollection
    System.Net.PeerToPeer.CloudCollection
    System.Net.PeerToPeer.Collaboration.PeerApplicationCollection
    System.Net.PeerToPeer.Collaboration.PeerContactCollection
    System.Net.PeerToPeer.Collaboration.PeerEndPointCollection
    System.Net.PeerToPeer.Collaboration.PeerNearMeCollection
    System.Net.PeerToPeer.Collaboration.PeerObjectCollection
    System.Net.PeerToPeer.PeerNameRecordCollection
    System.Security.Cryptography.CngPropertyCollection
    System.ServiceModel.Channels.BindingElementCollection
    System.ServiceModel.Channels.ChannelParameterCollection
    System.ServiceModel.Description.FaultDescriptionCollection
    System.ServiceModel.Description.MessageDescriptionCollection
    System.ServiceModel.Description.OperationDescriptionCollection
    System.ServiceModel.Description.PolicyAssertionCollection
    System.ServiceModel.Description.ServiceEndpointCollection
    System.ServiceModel.Dispatcher.MessageQueryCollection
    System.ServiceModel.Syndication.SyndicationElementExtensionCollection
    System.Web.DynamicData.DataControlReferenceCollection
    System.Web.ModelBinding.ModelBinderProviderCollection
    System.Web.ModelBinding.ModelErrorCollection
    System.Web.ModelBinding.ModelValidatorProviderCollection
    System.Web.ModelBinding.ValueProviderCollection
    System.Web.Routing.RouteCollection
    System.Web.UI.DataVisualization.Charting.ChartElementCollection<T>
    System.Web.UI.ScriptReferenceCollection
    System.Web.UI.ServiceReferenceCollection
    System.Web.UI.UpdatePanelTriggerCollection
    System.Windows.ConditionCollection
    System.Windows.Forms.DataVisualization.Charting.ChartElementCollection<T>
    System.Windows.Forms.FileDialogCustomPlacesCollection
    System.Windows.Ink.StrokeCollection
    System.Windows.Input.StylusPlugIns.StylusPlugInCollection
    System.Windows.Input.StylusPointCollection
    System.Windows.Input.TouchPointCollection
    System.Windows.SetterBaseCollection
    System.Windows.TriggerCollection
    System.Workflow.ComponentModel.Compiler.ValidationErrorCollection

[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>, 
	IEnumerable, IList, ICollection, IReadOnlyList<T>, IReadOnlyCollection<T>

Typparameter

T

Der Typ der Elemente in der Auflistung.

NameBeschreibung
System_CAPS_pubmethodCollection<T>()

Initialisiert eine neue, leere Instanz der Collection<T>-Klasse.

System_CAPS_pubmethodCollection<T>(IList<T>)

Initialisiert eine neue Instanz der der Collection<T> Klasse als Wrapper für die angegebene Liste.

NameBeschreibung
System_CAPS_pubpropertyCount

Ruft die Anzahl der Elemente, die tatsächlich in der Collection<T>.

System_CAPS_pubpropertyItem[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.

System_CAPS_protpropertyItems

Ruft ein IList<T> Wrapper für die Collection<T>.

NameBeschreibung
System_CAPS_pubmethodAdd(T)

Fügt am Ende der Collection<T> ein Objekt hinzu.

System_CAPS_pubmethodClear()

Entfernt alle Elemente aus der Collection<T>.

System_CAPS_protmethodClearItems()

Entfernt alle Elemente aus der Collection<T>.

System_CAPS_pubmethodContains(T)

Bestimmt, ob sich ein Element in Collection<T> befindet.

System_CAPS_pubmethodCopyTo(T[], Int32)

Kopiert die gesamte Collection<T>-Instanz in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird.(Geerbt von „Object“.)

System_CAPS_pubmethodGetEnumerator()

Gibt einen Enumerator zurück, der die Collection<T> durchläuft.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIndexOf(T)

Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens innerhalb der gesamten Collection<T> zurück.

System_CAPS_pubmethodInsert(Int32, T)

Fügt am angegebenen Index ein Element in die Collection<T> ein.

System_CAPS_protmethodInsertItem(Int32, T)

Fügt am angegebenen Index ein Element in die Collection<T> ein.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodRemove(T)

Entfernt das erste Vorkommen eines angegebenen Objekts aus der Collection<T>.

System_CAPS_pubmethodRemoveAt(Int32)

Entfernt das Element am angegebenen Index aus der Collection<T>.

System_CAPS_protmethodRemoveItem(Int32)

Entfernt das Element am angegebenen Index aus der Collection<T>.

System_CAPS_protmethodSetItem(Int32, T)

Ersetzt das Element am angegebenen Index.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Kopiert die Elemente der ICollection in ein Array, beginnend bei einem bestimmten Array-Index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Add(Object)

Fügt der IList ein Element hinzu.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Contains(Object)

Ermittelt, ob die IList einen bestimmten Wert enthält.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements in der IList.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Insert(Int32, Object)

Fügt ein Element in der IList am angegebenen Index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Remove(Object)

Entfernt das erste Vorkommen eines angegebenen Objekts aus der IList.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection<T>.IsReadOnly

Ruft einen Wert ab, der angibt, ob das ICollection<T> schreibgeschützt ist.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert (threadsicher) ist.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsFixedSize

Ruft einen Wert ab, der angibt, ob das IList eine feste Größe aufweist.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsReadOnly

Ruft einen Wert ab, der angibt, ob das IList schreibgeschützt ist.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.

NameBeschreibung
System_CAPS_pubmethodAggregate<T>(Func<T, T, T>)

Überladen. Wendet eine Akkumulatorfunktion auf eine Sequenz an.(Definiert durch Enumerable.)

System_CAPS_pubmethodAggregate<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>)

Überladen. Wendet eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodAggregate<T, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, T, TAccumulate>, Func<TAccumulate, TResult>)

Überladen. Wendet eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet, und der Ergebniswert wird mit der angegebenen Funktion ausgewählt.(Definiert durch Enumerable.)

System_CAPS_pubmethodAll<T>(Func<T, Boolean>)

Bestimmt, ob alle Elemente einer Sequenz eine Bedingung erfüllen.(Definiert durch Enumerable.)

System_CAPS_pubmethodAny<T>()

Überladen. Bestimmt, ob eine Sequenz Elemente enthält.(Definiert durch Enumerable.)

System_CAPS_pubmethodAny<T>(Func<T, Boolean>)

Überladen. Bestimmt, ob ein Element einer Sequenz eine Bedingung erfüllt.(Definiert durch Enumerable.)

System_CAPS_pubmethodAsEnumerable<T>()

Gibt die Eingabe als IEnumerable<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodAsParallel()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsParallel<T>()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Überladen. Konvertiert ein IEnumerable zu einer IQueryable.(Definiert durch Queryable.)

System_CAPS_pubmethodAsQueryable<T>()

Überladen. Konvertiert ein generisches IEnumerable<T> auf einen generischen IQueryable<T>.(Definiert durch Queryable.)

System_CAPS_pubmethodAverage<T>(Func<T, Decimal>)

Überladen. Berechnet den Durchschnitt einer Sequenz von Decimal Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Double>)

Überladen. Berechnet den Durchschnitt einer Sequenz von Double Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Int32>)

Überladen. Berechnet den Durchschnitt einer Sequenz von Int32 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Int64>)

Überladen. Berechnet den Durchschnitt einer Sequenz von Int64 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Decimal>>)

Überladen. Berechnet den Durchschnitt einer Sequenz von NULL-Werte zu Decimal Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Double>>)

Überladen. Berechnet den Durchschnitt einer Sequenz von NULL-Werte zu Double Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int32>>)

Überladen. Berechnet den Durchschnitt einer Sequenz von NULL-Werte zu Int32 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int64>>)

Überladen. Berechnet den Durchschnitt einer Sequenz von NULL-Werte zu Int64 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Single>>)

Überladen. Berechnet den Durchschnitt einer Sequenz von NULL-Werte zu Single Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Single>)

Überladen. Berechnet den Durchschnitt einer Sequenz von Single Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodCast<TResult>()

Wandelt die Elemente einer IEnumerable in den angegebenen Typ.(Definiert durch Enumerable.)

System_CAPS_pubmethodConcat<T>(IEnumerable<T>)

Verkettet zwei Sequenzen.(Definiert durch Enumerable.)

System_CAPS_pubmethodContains<T>(T)

Überladen. Bestimmt, ob eine Sequenz ein angegebenes Element enthält, mithilfe des Standardgleichheitsvergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodContains<T>(T, IEqualityComparer<T>)

Überladen. Bestimmt, ob eine Sequenz ein angegebenes Element enthält, mit einem angegebenen IEqualityComparer<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodCount<T>()

Überladen. Gibt die Anzahl der Elemente in einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodCount<T>(Func<T, Boolean>)

Überladen. Gibt eine Zahl, die darstellt, wie viele Elemente in der angegebenen Sequenz eine Bedingung erfüllen.(Definiert durch Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<T>()

Überladen. Gibt die Elemente der angegebenen Sequenz oder den Standardwert des Typparameters in einer singletonauflistung zurück, wenn die Sequenz leer ist.(Definiert durch Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<T>(T)

Überladen. Gibt die Elemente der angegebenen Sequenz oder den angegebenen Wert in einer singletonauflistung zurück, wenn die Sequenz leer ist.(Definiert durch Enumerable.)

System_CAPS_pubmethodDistinct<T>()

Überladen. Gibt Sie mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodDistinct<T>(IEqualityComparer<T>)

Überladen. Gibt unterschiedliche Elemente aus einer Sequenz mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten.(Definiert durch Enumerable.)

System_CAPS_pubmethodElementAt<T>(Int32)

Gibt das Element am angegebenen Index in einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodElementAtOrDefault<T>(Int32)

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.(Definiert durch Enumerable.)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>)

Überladen. Erzeugt die Differenzmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten.(Definiert durch Enumerable.)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>, IEqualityComparer<T>)

Überladen. Erzeugt die Differenzmenge von zwei Sequenzen unter Verwendung des angegebenen IEqualityComparer<T> zum Vergleichen von Werten.(Definiert durch Enumerable.)

System_CAPS_pubmethodFirst<T>()

Überladen. Gibt das erste Element einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodFirst<T>(Func<T, Boolean>)

Überladen. Gibt das erste Element in einer Sequenz zurück, das eine angegebene Bedingung erfüllt.(Definiert durch Enumerable.)

System_CAPS_pubmethodFirstOrDefault<T>()

Überladen. Gibt das erste Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.(Definiert durch Enumerable.)

System_CAPS_pubmethodFirstOrDefault<T>(Func<T, Boolean>)

Überladen. Gibt das erste Element der Sequenz zurück, das eine Bedingung erfüllt, oder einen Standardwert, wenn ein solches Element nicht gefunden wird.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und vergleicht die Schlüssel mithilfe eines angegebenen Vergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und projiziert die Elemente für jede Gruppe mithilfe einer angegebenen Funktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer Schlüsselauswahlfunktion. Die Schlüssel werden mithilfe eines Vergleichs verglichen, und die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>, IEqualityComparer<TKey>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Die Schlüssel werden mithilfe eines angegebenen Vergleichs verglichen.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Schlüsselwerte werden mithilfe eines angegebenen Vergleichs verglichen, und die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>)

Überladen. Korreliert die Elemente zweier Sequenzen basierend auf der Gleichheit der Schlüssel und gruppiert die Ergebnisse. Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen.(Definiert durch Enumerable.)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Überladen. Korreliert die Elemente zweier Sequenzen basierend auf der Gleichheit der Schlüssel und gruppiert die Ergebnisse. Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen.(Definiert durch Enumerable.)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>)

Überladen. Erzeugt die Schnittmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten.(Definiert durch Enumerable.)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>, IEqualityComparer<T>)

Überladen. Erzeugt die Schnittmenge von zwei Sequenzen unter Verwendung des angegebenen IEqualityComparer<T> zum Vergleichen von Werten.(Definiert durch Enumerable.)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>)

Überladen. Korreliert die Elemente zweier Sequenzen basierend auf übereinstimmenden Schlüsseln. Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen.(Definiert durch Enumerable.)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>, IEqualityComparer<TKey>)

Überladen. Korreliert die Elemente zweier Sequenzen basierend auf übereinstimmenden Schlüsseln. Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen.(Definiert durch Enumerable.)

System_CAPS_pubmethodLast<T>()

Überladen. Gibt das letzte Element einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodLast<T>(Func<T, Boolean>)

Überladen. Gibt das letzte Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt.(Definiert durch Enumerable.)

System_CAPS_pubmethodLastOrDefault<T>()

Überladen. Gibt das letzte Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.(Definiert durch Enumerable.)

System_CAPS_pubmethodLastOrDefault<T>(Func<T, Boolean>)

Überladen. Gibt das letzte Element einer Sequenz, das eine Bedingung erfüllt, oder einen Standardwert zurück, wenn ein solches Element nicht gefunden wird.(Definiert durch Enumerable.)

System_CAPS_pubmethodLongCount<T>()

Überladen. Gibt eine Int64 , die die Gesamtanzahl von Elementen in einer Sequenz darstellt.(Definiert durch Enumerable.)

System_CAPS_pubmethodLongCount<T>(Func<T, Boolean>)

Überladen. Gibt ein Int64 das darstellt, wie viele Elemente in einer Sequenz eine Bedingung erfüllen.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>()

Überladen. Gibt den Maximalwert in einer generischen Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Decimal>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt die maximale Decimal Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Double>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt die maximale Double Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Int32>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt die maximale Int32 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Int64>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt die maximale Int64 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Decimal>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den Höchstwert zurück auf NULL festlegbare Decimal Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Double>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den Höchstwert zurück auf NULL festlegbare Double Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int32>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den Höchstwert zurück auf NULL festlegbare Int32 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int64>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den Höchstwert zurück auf NULL festlegbare Int64 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Single>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den Höchstwert zurück auf NULL festlegbare Single Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Single>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt die maximale Single Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMax<T, TResult>(Func<T, TResult>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer generischen Sequenz und gibt den höchsten Ergebniswert zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>()

Überladen. Gibt den Mindestwert in einer generischen Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Decimal>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den kleinsten Decimal Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Double>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den kleinsten Double Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Int32>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den kleinsten Int32 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Int64>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den kleinsten Int64 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Decimal>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den kleinsten NULL-Werte zu Decimal Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Double>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den kleinsten NULL-Werte zu Double Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int32>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den kleinsten NULL-Werte zu Int32 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int64>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den kleinsten NULL-Werte zu Int64 Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Single>>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer Sequenz und gibt den kleinsten NULL-Werte zu Single Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Single>)

Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den kleinsten Single Wert.(Definiert durch Enumerable.)

System_CAPS_pubmethodMin<T, TResult>(Func<T, TResult>)

Überladen. Ruft eine Transformationsfunktion für jedes Element einer generischen Sequenz und gibt den niedrigsten Ergebniswert zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtert die Elemente einer IEnumerable auf Grundlage eines angegebenen Typs.(Definiert durch Enumerable.)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>)

Überladen. Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge nach einem Schlüssel.(Definiert durch Enumerable.)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>, IComparer<TKey>)

Überladen. Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge mithilfe eines angegebenen Vergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>)

Überladen. Sortiert die Elemente einer Sequenz in absteigender Reihenfolge nach einem Schlüssel.(Definiert durch Enumerable.)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>, IComparer<TKey>)

Überladen. Sortiert die Elemente einer Sequenz mithilfe eines angegebenen Vergleichs in absteigender Reihenfolge.(Definiert durch Enumerable.)

System_CAPS_pubmethodReverse<T>()

Kehrt die Reihenfolge der Elemente in einer Sequenz.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, TResult>)

Überladen. Projiziert jedes Element einer Sequenz in ein neues Format.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, Int32, TResult>)

Überladen. Projiziert jedes Element einer Sequenz in ein neues Formular durch den Index des Elements integriert wird.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, IEnumerable<TResult>>)

Überladen. Projiziert jedes Element einer Sequenz in ein IEnumerable<T> und fasst die resultierenden Sequenzen in einer einzigen Sequenz zusammen.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, Int32, IEnumerable<TResult>>)

Überladen. Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, und fasst die resultierenden Sequenzen in einer einzigen Sequenz zusammen. Der Index jedes Quellelements wird im projizierten Format des jeweiligen Elements verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

Überladen. Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, fasst die resultierenden Sequenzen zu einer einzigen Sequenz zusammen und ruft für jedes Element in dieser Sequenz eine Ergebnisauswahlfunktion auf.(Definiert durch Enumerable.)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, Int32, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

Überladen. Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, fasst die resultierenden Sequenzen zu einer einzigen Sequenz zusammen und ruft für jedes Element in dieser Sequenz eine Ergebnisauswahlfunktion auf. Der Index jedes Quellelements wird im projizierten Zwischenformat des jeweiligen Elements verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>)

Überladen. Bestimmt, ob zwei Sequenzen gleich sind, indem die Elemente mithilfe des Standardgleichheitsvergleichs für ihren Typ verglichen werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>, IEqualityComparer<T>)

Überladen. Bestimmt, ob zwei Sequenzen gleich sind, indem ihre Elemente mithilfe eines angegebenen verglichen IEqualityComparer<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodSingle<T>()

Überladen. Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.(Definiert durch Enumerable.)

System_CAPS_pubmethodSingle<T>(Func<T, Boolean>)

Überladen. Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehrere solche Elemente vorhanden sind.(Definiert durch Enumerable.)

System_CAPS_pubmethodSingleOrDefault<T>()

Überladen. Gibt das einzige Element einer Sequenz bzw. einen Standardwert zurück, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element in der Sequenz vorhanden ist.(Definiert durch Enumerable.)

System_CAPS_pubmethodSingleOrDefault<T>(Func<T, Boolean>)

Überladen. Gibt das einzige Element einer Sequenz, das eine angegebene Bedingung erfüllt, oder einen Standardwert zurück, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente die Bedingung erfüllen.(Definiert durch Enumerable.)

System_CAPS_pubmethodSkip<T>(Int32)

Umgeht eine festgelegte Anzahl von Elementen in einer Sequenz und gibt dann die übrigen Elemente zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Boolean>)

Überladen. Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Int32, Boolean>)

Überladen. Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück. In der Logik der Prädikatfunktion wird der Index des Elements verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Decimal>)

Überladen. Berechnet die Summe einer Sequenz von Decimal Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Double>)

Überladen. Berechnet die Summe einer Sequenz von Double Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Int32>)

Überladen. Berechnet die Summe einer Sequenz von Int32 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Int64>)

Überladen. Berechnet die Summe einer Sequenz von Int64 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Decimal>>)

Überladen. Berechnet die Summe einer Sequenz von NULL-Werte zu Decimal Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Double>>)

Überladen. Berechnet die Summe einer Sequenz von NULL-Werte zu Double Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int32>>)

Überladen. Berechnet die Summe einer Sequenz von NULL-Werte zu Int32 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int64>>)

Überladen. Berechnet die Summe einer Sequenz von NULL-Werte zu Int64 Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Single>>)

Überladen. Berechnet die Summe einer Sequenz von NULL-Werte zu Single Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Single>)

Überladen. Berechnet die Summe einer Sequenz von Single Werte, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.(Definiert durch Enumerable.)

System_CAPS_pubmethodTake<T>(Int32)

Gibt eine angegebene Anzahl von zusammenhängenden Elementen ab dem Anfang einer Sequenz zurück.(Definiert durch Enumerable.)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Boolean>)

Überladen. Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung true ist.(Definiert durch Enumerable.)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Int32, Boolean>)

Überladen. Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung true ist. In der Logik der Prädikatfunktion wird der Index des Elements verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodToArray<T>()

Erstellt ein Array aus einem IEnumerable<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>)

Überladen. Erstellt eine Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Überladen. Erstellt eine Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Überladen. Erstellt eine Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Überladen. Erstellt eine Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodToList<T>()

Erstellt ein List<T> aus einem IEnumerable<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>)

Überladen. Erstellt eine Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Überladen. Erstellt eine Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Überladen. Erstellt eine Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Überladen. Erstellt eine Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion.(Definiert durch Enumerable.)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>)

Überladen. Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs.(Definiert durch Enumerable.)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>, IEqualityComparer<T>)

Überladen. Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe eines angegebenen IEqualityComparer<T>.(Definiert durch Enumerable.)

System_CAPS_pubmethodWhere<T>(Func<T, Boolean>)

Überladen. Filtert eine Sequenz von Werten basierend auf einem Prädikat.(Definiert durch Enumerable.)

System_CAPS_pubmethodWhere<T>(Func<T, Int32, Boolean>)

Überladen. Filtert eine Sequenz von Werten basierend auf einem Prädikat. In der Logik der Prädikatfunktion wird der Index der einzelnen Elemente verwendet.(Definiert durch Enumerable.)

System_CAPS_pubmethodZip<T, TSecond, TResult>(IEnumerable<TSecond>, Func<T, TSecond, TResult>)

Wendet eine angegebene Funktion auf die entsprechenden Elemente von zwei Sequenzen eine Sequenz der Ergebnisse erzeugen.(Definiert durch Enumerable.)

The T:System.Collections.ObjectModel.Collection`1 class can be used immediately by creating an instance of one of its constructed types; all you have to do is specify the type of object to be contained in the collection. In addition, you can derive your own collection type from any constructed type, or derive a generic collection type from the T:System.Collections.ObjectModel.Collection`1 class itself.

The T:System.Collections.ObjectModel.Collection`1 class provides protected methods that can be used to customize its behavior when adding and removing items, clearing the collection, or setting the value of an existing item.

Most T:System.Collections.ObjectModel.Collection`1 objectscan be modified. However, a T:System.Collections.ObjectModel.Collection`1 object that is initialized with a read-only T:System.Collections.Generic.IList`1 object cannot be modified. See T:System.Collections.ObjectModel.ReadOnlyCollection`1 for a read-only version of this class.

Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.

Collection<T> accepts null as a valid value for reference types and allows duplicate elements.

Hinweise für Implementierer:

This base class is provided to make it easier for implementers to create a custom collection. Implementers are encouraged to extend this base class instead of creating their own.

This section contains two code examples. The first example demonstrates several properties and methods of the T:System.Collections.ObjectModel.Collection`1 class. The second example shows how to derive a collection class from a constructed type of T:System.Collections.ObjectModel.Collection`1, and how to override the protected methods of T:System.Collections.ObjectModel.Collection`1 to provide custom behavior.

Example 1

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

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new Collection<string>();

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

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);

        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}", 
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}", 
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }

    private static void Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in cs )
        {
            Console.WriteLine(item);
        }
    }
}

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

Example 2

The following code example shows how to derive a collection class from a constructed type of the T:System.Collections.ObjectModel.Collection`1 generic class, and how to override the protected M:System.Collections.ObjectModel.Collection`1.InsertItem(System.Int32,`0), M:System.Collections.ObjectModel.Collection`1.RemoveItem(System.Int32), M:System.Collections.ObjectModel.Collection`1.ClearItems, and M:System.Collections.ObjectModel.Collection`1.SetItem(System.Int32,`0) methods to provide custom behavior for the M:System.Collections.ObjectModel.Collection`1.Add(`0), M:System.Collections.ObjectModel.Collection`1.Insert(System.Int32,`0), M:System.Collections.ObjectModel.Collection`1.Remove(`0), and M:System.Collections.ObjectModel.Collection`1.Clear methods, and for setting the P:System.Collections.ObjectModel.Collection`1.Item(System.Int32) property.

The custom behavior provided by this example is a Changed notification event that is raised at the end of each of the protected methods. The Dinosaurs class inherits Collection<string> (Collection(Of String) in Visual Basic) and defines the Changed event, which uses a DinosaursChangedEventArgs class for the event information, and an enumeration to identify the kind of change.

The code example calls several properties and methods of T:System.Collections.ObjectModel.Collection`1 to demonstrate the custom event.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Dinosaurs : Collection<string>
{
    public event EventHandler<DinosaursChangedEventArgs> Changed;

    protected override void InsertItem(int index, string newItem)
    {
        base.InsertItem(index, newItem);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Added, newItem, null));
        }
    }

    protected override void SetItem(int index, string newItem)
    {
        string replaced = Items[index];
        base.SetItem(index, newItem);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Replaced, replaced, newItem));
        }
    }

    protected override void RemoveItem(int index)
    {
        string removedItem = Items[index];
        base.RemoveItem(index);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Removed, removedItem, null));
        }
    }

    protected override void ClearItems()
    {
        base.ClearItems();

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Cleared, null, null));
        }
    }
}

// Event argument for the Changed event.
//
public class DinosaursChangedEventArgs : EventArgs
{
    public readonly string ChangedItem;
    public readonly ChangeType ChangeType;
    public readonly string ReplacedWith;

    public DinosaursChangedEventArgs(ChangeType change, string item, 
        string replacement)
    {
        ChangeType = change;
        ChangedItem = item;
        ReplacedWith = replacement;
    }
}

public enum ChangeType
{
    Added, 
    Removed, 
    Replaced, 
    Cleared
};

public class Demo
{
    public static void Main()
    {
        Dinosaurs dinosaurs = new Dinosaurs();

        dinosaurs.Changed += ChangedHandler; 

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

        Display(dinosaurs);

        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}", 
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}", 
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);

        Display(dinosaurs);
    }

    private static void Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in cs )
        {
            Console.WriteLine(item);
        }
    }

    private static void ChangedHandler(object source, 
        DinosaursChangedEventArgs e)
    {

        if (e.ChangeType==ChangeType.Replaced)
        {
            Console.WriteLine("{0} was replaced with {1}", e.ChangedItem, 
                e.ReplacedWith);
        }
        else if(e.ChangeType==ChangeType.Cleared)
        {
            Console.WriteLine("The dinosaur list was cleared.");
        }
        else
        {
            Console.WriteLine("{0} was {1}.", e.ChangedItem, e.ChangeType);
        }
    }
}

/* This code example produces the following output:

Psitticosaurus was Added.
Caudipteryx was Added.
Compsognathus was Added.
Muttaburrasaurus was Added.

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")
Nanotyrannus was Added.

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"
Nanotyrannus was replaced with Microraptor

Remove("Microraptor")
Microraptor was Removed.

RemoveAt(0)
Psitticosaurus was Removed.

Caudipteryx
Compsognathus
Muttaburrasaurus
 */

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

A T:System.Collections.ObjectModel.Collection`1 can support multiple readers concurrently, as long as the collection is not modified. Even so, enumerating through a collection is intrinsically not a thread-safe procedure. To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization.

Zurück zum Anfang
Anzeigen: