Visual Basic (Declaration) | |
---|---|
Public Function New( _ ByVal storage As IDictionary(Of TKey,TValue) _ ) |
C# | |
---|---|
public SynchronizedDictionary<TKey,TValue>( IDictionary<TKey,TValue> storage ) |
Parameters
- storage
Library/Library.Test/TestSynchronizedCollections.cs
C# | Copy Code |
---|---|
SynchronizedDictionary<int, string> data = new SynchronizedDictionary<int, string>(new Dictionary<int, string>()); Assert.IsTrue(data.TryAdd(1, "a")); Assert.IsFalse(data.TryAdd(1, "a")); Assert.IsTrue(data.TryUpdate(1, "a")); Assert.IsTrue(data.TryUpdate(1, "c")); Assert.IsTrue(data.TryUpdate(1, "d", "c")); Assert.IsFalse(data.TryUpdate(1, "f", "c")); Assert.AreEqual("d", data[1]); Assert.IsTrue(data.TryUpdate(1, "a", data[1])); Assert.AreEqual("a", data[1]); Assert.IsFalse(data.TryUpdate(2, "b")); string val; Assert.IsTrue(data.TryRemove(1, out val) && val == "a"); Assert.IsFalse(data.TryRemove(2, out val)); Assert.AreNotEqual(val, "a"); Assert.IsFalse(data.TryUpdate(1, (k, x) => x.ToUpper())); data[1] = "a"; data[1] = "b"; Assert.IsTrue(data.TryUpdate(1, (k, x) => x.ToUpper())); Assert.AreEqual("B", data[1]); |
VB.NET | Copy Code |
---|---|
Dim data As New SynchronizedDictionary(Of Integer, String)(New Dictionary(Of Integer, String)()) Assert.IsTrue(data.TryAdd(1, "a")) Assert.IsFalse(data.TryAdd(1, "a")) Assert.IsTrue(data.TryUpdate(1, "a")) Assert.IsTrue(data.TryUpdate(1, "c")) Assert.IsTrue(data.TryUpdate(1, "d", "c")) Assert.IsFalse(data.TryUpdate(1, "f", "c")) Assert.AreEqual("d", data(1)) Assert.IsTrue(data.TryUpdate(1, "a", data(1))) Assert.AreEqual("a", data(1)) Assert.IsFalse(data.TryUpdate(2, "b")) Dim val As String Assert.IsTrue(data.TryRemove(1, val) AndAlso val = "a") Assert.IsFalse(data.TryRemove(2, val)) Assert.AreNotEqual(val, "a") Assert.IsFalse(data.TryUpdate(1, Function(k, x) x.ToUpper())) data(1) = "a" data(1) = "b" Assert.IsTrue(data.TryUpdate(1, Function(k, x) x.ToUpper())) Assert.AreEqual("B", data(1)) |
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7