简体   繁体   English

将字符串列表与 linq 中的字符串进行比较

[英]Compare list of string with string in linq

我有字符串列表 Like list1 contains 'pinky','smita','Rashmi','Srivani' 字符串就像 String str = "pinky, Nandini' 我想检查 list1 中是否没有 str 存在,继续进行。怎么做?

You can use combination of .Any() with .Contains() with !您可以将 .Any( .Any().Contains()! , ,

var list1 = new List<string>(){ "pinky", "smita", "Rashmi", "Srivani" };
string str = "pinky, Nandini";
var list2 = str.Split(",");

var nameExists = list2.Any(x => list1.Contains(x));
if(!nameExists)
{
   //Your code goes here.
}

As @Fildor said, you can use Intersect() .正如@Fildor 所说,您可以使用Intersect() Elegant approach,优雅的方法,

//All credit goes to @Fildor
var nameExists = list1.Intersect(list2).Any(); 

如果我理解正确,您想在示例情况下返回 false,因此您可以使用Any方法:检查列表中的所有元素是否已经在str中,这是一个单行:

if (!list.Any(x=>str.Contains(x))) ....

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM