view MetroWpf/MetroWpf.Framework/Extensions/CollectionExtensions.cs @ 33:f3a0641c1586

bat files added to Messaging solution
author adminsh@apollo
date Thu, 22 Mar 2012 08:11:42 +0000
parents 060f02cd4591
children
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace MetroWpf
{
  public static class CollectionExtensions
  {
    #region · Extensions ·

    public static bool AddUnique<T>(this ICollection<T> collection, T value)
    {
      if (!collection.Contains(value))
      {
        collection.Add(value);
        return true;
      }

      return false;
    }

    public static int AddRangeUnique<T>(this ICollection<T> collection, IEnumerable<T> values)
    {
      var count = 0;

      foreach (var value in values)
      {
        if (collection.AddUnique(value))
        {
          count++;
        }
      }

      return count;
    }

    public static void AddRange<T>(this ICollection<T> collection, IEnumerable<T> values)
    {
      foreach (T value in values)
      {
        collection.Add(value);
      }
    }

    #endregion
  }
}