簡體   English   中英

檢查字符串數組元素僅包含另一個數組中的元素

[英]Check string array elements only contain elements in another array

我有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 ...但是如果在enteredItems數組中只有1個元素不在allPossible數組中,那么將出現false。 即。

string[] allPossible = {"ID","Age","FirstName","LastName","Gender","Kudos"};
string[] enteredItems = {"Age", "Geeky"};

將是錯誤的,因為''allIossible'元素中不存在'enteredItems'數組中的1個元素。

必須有LINQ查詢才能執行此操作。

使用Enumerable.Except

bool allInEntered = !enteredItems.Except(allPossible).Any();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM