que tienen el siguiente método:¿Tiene .NET una forma de verificar si la Lista a contiene todos los elementos en la Lista 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);
});
}
}
}
El propósito es determinar si una lista contiene todos los elementos de otra lista. Me parece que algo así debería estar integrado en .NET, ¿es así y estoy duplicando la funcionalidad?
Editar: Mis disculpas por no mencionar desde el principio que estoy usando este código en la versión Mono 2.4.2.
Véase también https://stackoverflow.com/questions/332973/check-whether-an-array-is-a -subset-of-another –
Su algoritmo es O cuadrático (nm). Si las listas están ordenadas, la prueba de si uno es un subconjunto de otra debería ser posible en O (n + m) tiempo. –