(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DictionaryBase.ICollection.IsSynchronized-Eigenschaft

Ruft einen Wert ab, der angibt, ob der Zugriff auf ein DictionaryBase-Objekt synchronisiert (threadsicher) ist.

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

bool ICollection.IsSynchronized { get; }

Eigenschaftswert

Typ: System.Boolean
true , wenn der Zugriff auf das DictionaryBase-Objekt synchronisiert (threadsicher) ist, andernfalls false. Die Standardeinstellung ist false.

Implementiert

ICollection.IsSynchronized

Ein DictionaryBase-Objekt ist nicht synchronisiert. Abgeleitete Klassen können mithilfe der SyncRoot-Eigenschaft eine synchronisierte Version der DictionaryBase-Klasse bereitstellen.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Sie können während der Enumeration Threadsicherheit gewährleisten, indem Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen abfangen, die durch Änderungen ausgelöst werden, die von anderen Threads vorgenommen werden.

Im folgenden Codebeispiel wird veranschaulicht, wie die Auflistung mithilfe der SyncRoot-Eigenschaft während der gesamten Enumeration gesperrt wird.


ICollection myCollection = new ShortStringDictionary();
lock(myCollection.SyncRoot)
{
    foreach (Object item in myCollection)
    {
        // Insert your code here.
    }
}


Das Abrufen des Wertes dieser Eigenschaft ist ein O(1)-Vorgang.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft