ConcurrentDictionary<TKey,TValue>.TryRemove Method(TKey,TValue):

Attempts to remove and return the value that has the specified key from the .

Namespace:                   

Assembly:         mscorlib (in mscorlib.dll)

public bool TryRemove(	TKey key,	out TValue value)

Parameters

  • key

  • Type:    

    The key of the element to remove and return.

  • value

  • Type:    

    When this method returns, contains the object removed from the , or the default value of  the TValue type if key does not exist.

Return Value

Type:    

true if the object was removed successfully; otherwise, false.

Exception Condition

key is  null.

The following example shows how to call the ConcurrentDictionary<TKey,TValue>.TryRemove method:

class CD_TryXYZ{        // Demonstrates:        //      ConcurrentDictionary
.TryAdd()        //      ConcurrentDictionary
.TryUpdate()        //      ConcurrentDictionary
.TryRemove()        static void Main()        {                    int numFailures = 0; // for bookkeeping            // Construct an empty dictionaryConcurrentDictionary
 cd = new ConcurrentDictionary
();            // This should work            if (!cd.TryAdd(1, "one"))            {                Console.WriteLine("CD.TryAdd() failed when it should have succeeded");                numFailures++;            }                        // This shouldn't work -- key 1 is already in use            if (cd.TryAdd(1, "uno"))            {                Console.WriteLine("CD.TryAdd() succeeded when it should have failed");                numFailures++;            }                        // Now change the value for key 1 from "one" to "uno" -- should work            if (!cd.TryUpdate(1, "uno", "one"))            {                Console.WriteLine("CD.TryUpdate() failed when it should have succeeded");                numFailures++;            }            // Try to change the value for key 1 from "eine" to "one"             //    -- this shouldn't work, because the current value isn't "eine"            if (cd.TryUpdate(1, "one", "eine"))            {                Console.WriteLine("CD.TryUpdate() succeeded when it should have failed");                numFailures++;            }            // Remove key/value for key 1.  Should work.            string value1;            if (!cd.TryRemove(1, out value1))            {                Console.WriteLine("CD.TryRemove() failed when it should have succeeded");                numFailures++;            }                        // Remove key/value for key 1.  Shouldn't work, because I already removed it            string value2;                        if (cd.)            {                Console.WriteLine("CD.TryRemove() succeeded when it should have failed");                numFailures++;            }            // If nothing went wrong, say so            if (numFailures == 0) Console.WriteLine("  OK!");        }}

Universal Windows Platform

Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in:
Windows Phone
Available since 8.1

备注:转自