Ich habe die folgende Methode:Kann .NET prüfen, ob Liste a alle Elemente in Liste b enthält?
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);
});
}
}
}
Der Zweck zu bestimmen, ist, wenn eine Liste alle Elemente einer anderen Liste enthält. Es scheint mir, dass sowas schon in .NET eingebaut sein würde, ist das der Fall und verdopple ich die Funktionalität?
Edit: Ich entschuldige mich, dass ich diesen Code nicht auf Mono Version 2.4.2 verwende.
Siehe auch https://stackoverflow.com/questions/332973/check-whether-an-array-is-a -subset-of-another –
Ihr Algorithmus ist quadratisch O (nm). Wenn die Listen sortiert sind, sollte es möglich sein, in O (n + m) -Zeit zu testen, ob eine Teilmenge einer anderen ist. –