2009-11-15

LINQ - Contains nie operuje na zbiorach

Podobnie jak Except zachowuje się Contains. Oto alternatywna metoda operująca na zbiorach:
public static bool ContainsExact<T>(this IEnumerable<T> a_enumerable, IEnumerable<T> a_values)
{
    List<T> list = new List<T>(a_enumerable);

    if (a_values.FirstOrDefault() == null)
        return true;

    foreach (T ele in a_values)
    {
        int index = list.IndexOf(ele);
        if (index == -1)
            return false;
        else
            list.RemoveAt(index);
    }

    return true;
}

Brak komentarzy:

Prześlij komentarz