summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2016-11-23 10:09:09 (GMT)
committerJiyoung Yun <jy910.yun@samsung.com>2016-11-23 10:09:09 (GMT)
commit4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch)
tree98110734c91668dfdbb126fcc0e15ddbd93738ca /src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs
parentfa45f57ed55137c75ac870356a1b8f76c84b229c (diff)
downloadcoreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs')
-rw-r--r--src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs b/src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs
new file mode 100644
index 0000000..17e1c53
--- /dev/null
+++ b/src/mscorlib/src/System/Collections/Generic/KeyValuePair.cs
@@ -0,0 +1,56 @@
+// 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: KeyValuePair
+**
+**
+**
+**
+** Purpose: Generic key-value pair for dictionary enumerators.
+**
+**
+===========================================================*/
+namespace System.Collections.Generic {
+
+ using System;
+ using System.Text;
+
+ // A KeyValuePair holds a key and a value from a dictionary.
+ // It is used by the IEnumerable<T> implementation for both IDictionary<TKey, TValue>
+ // and IReadOnlyDictionary<TKey, TValue>.
+ [Serializable]
+ public struct KeyValuePair<TKey, TValue> {
+ private TKey key;
+ private TValue value;
+
+ public KeyValuePair(TKey key, TValue value) {
+ this.key = key;
+ this.value = value;
+ }
+
+ public TKey Key {
+ get { return key; }
+ }
+
+ public TValue Value {
+ get { return value; }
+ }
+
+ public override string ToString() {
+ StringBuilder s = StringBuilderCache.Acquire();
+ s.Append('[');
+ if( Key != null) {
+ s.Append(Key.ToString());
+ }
+ s.Append(", ");
+ if( Value != null) {
+ s.Append(Value.ToString());
+ }
+ s.Append(']');
+ return StringBuilderCache.GetStringAndRelease(s);
+ }
+ }
+}