Mam następujący sposób:Czy .NET ma sposób sprawdzenia, czy lista a zawiera wszystkie elementy na liście b?
namespace ListHelper
{
public class ListHelper<T>
{
public static bool ContainsAllItems(List<T> a, List<T> b)
{
return b.TrueForAll(delegate(T t)
{
return a.Contains(t);
});
}
}
}
którego celem jest ustalenie, czy lista zawiera wszystkie elementy innej listy. Wydaje mi się, że coś takiego zostanie wbudowane w .NET, czy tak jest i czy duplikuję funkcjonalność?
Edytuj: Przepraszam, że nie stwierdziłem z góry, że używam tego kodu w wersji Mono 2.4.2.
Zobacz również https://stackoverflow.com/questions/332973/check-whether-an-array-is-a -subset-of-another –
Twój algorytm to kwadrat O (nm). Jeśli listy są posortowane, sprawdzenie, czy jedna z nich jest podzbiorem innej, powinno być możliwe w czasie O (n + m). –