C#List是否包含在Another list中? [重复]

问题描述 投票:0回答:3

我有这套

委托用户角色:1,2,3,4

UserSelectedRoles: 1,2,3

所以 UserSelectedRoles 是 delegatingUserRoles 的子集,那么为什么

delegatingUserRoles.Contains(UserSelectedRoles)

返回错误?

c# contains
3个回答
1
投票

Contains
方法测试特定项目是否包含在列表中。它不测试项目列表是否全部包含在列表中。你可以这样做:

if (UserSelectedRoles.All(item => delegatingUserRoles.Contains(item))

1
投票
var l1 = new List<Int32> { 1 };
var l2 = new List<Int32> { 1,2,3 };

var r = l1.All(l => l2.Contains(l));

r = 真


0
投票

因为

Contains()
方法检查单个对象是否包含在列表中,而不是检查一个列表是否包含在另一个列表中。

我想你需要

All()
这里。

© www.soinside.com 2019 - 2024. All rights reserved.