コード例 #1
0
        public void DictionaryEnumerator_Reset_YieldsFirstItemAgain()
        {
            var dic = new OrderedDictionary <string, string>();

            dic.Add("a", "string1");
            dic.Add("b", "string2");

            var enumerator = new DictionaryEnumerator <string, string>(dic);

            enumerator.MoveNext();

            var firstValue = enumerator.Value;

            enumerator.Reset();
            enumerator.MoveNext();
            var firstValueAfterReset = enumerator.Value;

            Assert.AreEqual(firstValue, firstValueAfterReset);
        }
コード例 #2
0
        public void DictionaryEnumerator_PropertyCheck()
        {
            var dic = new OrderedDictionary <string, string>();

            dic.Add("a", "string1");
            dic.Add("b", "string2");

            var enumerator = new DictionaryEnumerator <string, string>(dic);

            enumerator.MoveNext();

            Assert.AreEqual("a", enumerator.Key);
            Assert.AreEqual("string1", enumerator.Value);
        }
コード例 #3
0
        private void CopyToArray([NotNull] Array arr, int i,
                       EnumeratorMode mode)
        {
            if (arr == null)
                throw new ArgumentNullException(nameof(arr));

            if (i < 0 || i + this.Count > arr.Length)
                throw new ArgumentOutOfRangeException(nameof(i));

            IEnumerator it = new DictionaryEnumerator(this, mode);

            while (it.MoveNext())
            {
                arr.SetValue(it.Current, i++);
            }
        }