3 回答
TA贡献1817条经验 获得超14个赞
如果您使用的是.NET 3.5,则很简单:
public class ListHelper<T>
{
public static bool ContainsAllItems(List<T> a, List<T> b)
{
return !b.Except(a).Any();
}
}
这个检查是否有任何元件在b其不在a-然后反转的结果。
请注意,使该方法泛型而不是使类更传统,并且没有理由要求List<T>代替IEnumerable<T>-因此,这可能是更可取的:
public static class LinqExtras // Or whatever
{
public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b)
{
return !b.Except(a).Any();
}
}
TA贡献1765条经验 获得超5个赞
您也可以使用其他方式。覆盖等于并使用它
public bool ContainsAll(List<T> a,List<T> check)
{
list l = new List<T>(check);
foreach(T _t in a)
{
if(check.Contains(t))
{
check.Remove(t);
if(check.Count == 0)
{
return true;
}
}
return false;
}
}
- 3 回答
- 0 关注
- 840 浏览
添加回答
举报