Collections Data Structure C#

using System;
using System.Collections.Generic;
using System.Collections;
  public static class CollectionUtils
  {
    public static IEnumerable Filter(IEnumerable enumerable, Predicate leave)
    {
      foreach (T elem in enumerable)
        if (leave(elem))
          yield return elem;
    }
  }