我有2个阵列
string[] allPossible = {"ID","Age","FirstName","LastName","Gender","Kudos"};
string[] enteredItems = {"Age", "LastName"};
我想检查数组enteredItems只包含在数组中找到的元素 allPossible。我想用LINQ做这个。
我看了
allPossible.Any(el => enteredItems .Contains(el));
和
allPossible.Intersect(enteredItems).Any();
相反,我循环通过enteredItems并使用Array.IndexOf(allPossible, x) == -1 return false
。
返回的顶级数据样本将返回true ... 但是,如果在enteredIisibles数组中只有1个元素不在allPossible数组中 会有一个假的。即。
string[] allPossible = {"ID","Age","FirstName","LastName","Gender","Kudos"};
string[] enteredItems = {"Age", "Geeky"};
将是错误的,因为''allIossible'中不存在'enteredItems'数组中的1个元素 元件。
必须有LINQ查询才能执行此操作。
答案 0 :(得分:16)
bool allInEntered = !enteredItems.Except(allPossible).Any();