diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2 coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip |
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs')
-rw-r--r-- | src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs b/src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs new file mode 100644 index 0000000000..b995a04a0e --- /dev/null +++ b/src/mscorlib/src/System/Collections/IDictionaryEnumerator.cs @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +/*============================================================ +** +** Interface: IDictionaryEnumerator +** +** +** +** +** Purpose: Base interface for dictionary enumerators. +** +** +===========================================================*/ +namespace System.Collections { + // Interfaces are not serializable + + using System; + // This interface represents an enumerator that allows sequential access to the + // elements of a dictionary. Upon creation, an enumerator is conceptually + // positioned before the first element of the enumeration. The first call to the + // MoveNext method brings the first element of the enumeration into view, + // and each successive call to MoveNext brings the next element into + // view until MoveNext returns false, indicating that there are no more + // elements to enumerate. Following each call to MoveNext, the + // Key and Value methods are used to obtain the key and + // value of the element currently in view. The values returned by calls to + // Key and Value are undefined before the first call to + // MoveNext and following a call to MoveNext that returned false. + // Enumerators are typically used in while loops of the form + // + // IDictionaryEnumerator e = ...; + // while (e.MoveNext()) { + // Object key = e.Key; + // Object value = e.Value; + // ... + // } + // + // The IDictionaryEnumerator interface extends the IEnumerator + // inerface and can thus be used as a regular enumerator. The Current + // method of an IDictionaryEnumerator returns a DictionaryEntry containing + // the current key and value pair. However, the GetEntry method will + // return the same DictionaryEntry and avoids boxing the DictionaryEntry (boxing + // is somewhat expensive). + // +[System.Runtime.InteropServices.ComVisible(true)] + public interface IDictionaryEnumerator : IEnumerator + { + // Returns the key of the current element of the enumeration. The returned + // value is undefined before the first call to GetNext and following + // a call to GetNext that returned false. Multiple calls to + // GetKey with no intervening calls to GetNext will return + // the same object. + // + Object Key { + get; + } + + // Returns the value of the current element of the enumeration. The + // returned value is undefined before the first call to GetNext and + // following a call to GetNext that returned false. Multiple calls + // to GetValue with no intervening calls to GetNext will + // return the same object. + // + Object Value { + get; + } + + // GetBlock will copy dictionary values into the given Array. It will either + // fill up the array, or if there aren't enough elements, it will + // copy as much as possible into the Array. The number of elements + // copied is returned. + // + DictionaryEntry Entry { + get; + } + } +} |