Adds all the elements from the given enumerable to the given collection. Replace the element value if already stored in the collection. - CSharp System.Collections.ObjectModel

CSharp examples for System.Collections.ObjectModel:ReadOnlyCollection

Description

Adds all the elements from the given enumerable to the given collection. Replace the element value if already stored in the collection.

Demo Code

/*/*from w  ww  . ja va2 s. c o  m*/
 * ====================
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * 
 * Copyright 2008-2009 Sun Microsystems, Inc. All rights reserved.     
 * 
 * The contents of this file are subject to the terms of the Common Development 
 * and Distribution License("CDDL") (the "License").  You may not use this file 
 * except in compliance with the License.
 * 
 * You can obtain a copy of the License at 
 * http://opensource.org/licenses/cddl1.php
 * See the License for the specific language governing permissions and limitations 
 * under the License. 
 * 
 * When distributing the Covered Code, include this CDDL Header Notice in each file
 * and include the License file at http://opensource.org/licenses/cddl1.php.
 * If applicable, add the following below this CDDL Header, with the fields 
 * enclosed by brackets [] replaced by your own identifying information: 
 * "Portions Copyrighted [year] [name of copyright owner]"
 * ====================
 */
using System.Text;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.CompilerServices;
using System;

public class Main{
        /// <summary>
        /// Adds all the elements from the given enumerable to the given collection.
        /// Replace the element value if already stored in the collection.
        /// </summary>
        /// <typeparam name="TKey">IDictionary key type</typeparam>
        /// <typeparam name="TValue">IDictionary value type</typeparam>
        /// <typeparam name="UKey">Enumeration key type, has to extend IDictionary key type</typeparam>
        /// <typeparam name="UValue">Enumeration value type, has to extend IDictionary value type</typeparam>
        /// <param name="collection">The collection to add to</param>
        /// <param name="enumerable">The enumerable to get from</param>
        public static void AddOrReplaceAll<TKey, TValue, UKey, UValue>(IDictionary<TKey, TValue> collection,
                                       IEnumerable<KeyValuePair<UKey, UValue>> enumerable)
            where UKey : TKey
            where UValue : TValue
        {
            if (enumerable != null)
            {
                foreach (KeyValuePair<UKey, UValue> obj in enumerable)
                {
                    collection[obj.Key] = obj.Value;
                }
            }
        }
}

Related Tutorials