使用linq有一个简单的方法吗?
我想检查并返回true或false,list1中的任何字符串是否包含array1中的字符串.在下面的例子中,这将是string2value,我想返回true.
同样我想检查是否有任何array1包含list1中的字符串.这将是string1blah,因此也将返回true.谢谢!
List<string> list1 = new List<string>{"string1","string2value"};
string[] array1 = new string[2] {"string1blah","string2"};
Run Code Online (Sandbox Code Playgroud)
我有几个版本,但它不能一直工作.
array1.ToList().Any(a=>list1.Contains(a))
list1.Any(l=>array1.ToList().Contains(l))
Run Code Online (Sandbox Code Playgroud)
你可以试试这个:
var result= list1.Where(s=>array1.Any(s1=>s.Contains(s1)));
Run Code Online (Sandbox Code Playgroud)
根据每个字符串list1,您可以看到字符串中array1是否包含元素s.