我有2个阵列
string[] allPossible = {"ID","Age","FirstName","LastName","Gender","Kudos"};
string[] enteredItems = {"Age", "LastName"};
Run Code Online (Sandbox Code Playgroud)
我想检查数组,enteredItems只包含在数组中找到的元素allPossible.我想用LINQ做这件事.
我看了
allPossible.Any(el => enteredItems .Contains(el));
Run Code Online (Sandbox Code Playgroud)
和
allPossible.Intersect(enteredItems).Any();
Run Code Online (Sandbox Code Playgroud)
相反,我循环通过enteredItems并使用Array.IndexOf(allPossible, x) == -1 return false.
返回的顶部数据样本将返回true ...但是如果在enteredItems数组中只有1个元素不在allPossible数组中,那么将出现false.即.
string[] allPossible = {"ID","Age","FirstName","LastName","Gender","Kudos"};
string[] enteredItems = {"Age", "Geeky"};
Run Code Online (Sandbox Code Playgroud)
因为''allIossible'元素中不存在'enteredItems'数组中的1个元素,所以会出错.
必须有LINQ查询才能执行此操作.
Tim*_*ter 16
bool allInEntered = !enteredItems.Except(allPossible).Any();
Run Code Online (Sandbox Code Playgroud)