public IEnumerator <KeyValuePair <TKey, TValue> > GetEnumerator()
 {
     foreach (var value in this.vector)
     {
         yield return(new KeyValuePair <TKey, TValue>(IndexedVector <TKey, TValue> .GetKey(value), value));
     }
 }
Exemple #2
0
        public static IIndexedVector <TKey, TValue>?Clone <TKey, TValue>(IIndexedVector <TKey, TValue>?source, Func <TValue, TValue> cloneItem)
            where TKey : notnull
            where TValue : class
        {
            if (source is null)
            {
                return(null);
            }

            IndexedVector <TKey, TValue> vector = new IndexedVector <TKey, TValue>(source.Count);

            foreach (var pair in source)
            {
                var item = cloneItem(pair.Value);
                vector.Add(item);
            }

            return(vector);
        }