带有 List<string> 类型的两个列表所需的方法语法的 Linq 查询

var fullMessagesList = new List<string>(){

"This is Apple",

"This is mango",

"This is a Lemon",

"This is a Orange"

};


var partialMessagesList = new List<string>(){

"Apple",

"mango",

};

我需要一个带有方法语法的 linq 查询,并从 fullMessagesList 返回“This is a Lemon”、“This is a Orange”。我需要检查另一个列表中每个文本的 contains() 。


我已经使用老式的 foreach 循环编写了它,但需要使用方法语法使用 linq 来计算它。


var unknownFruites = new List<string>();

foreach (var message in fullMessagesList)

{

   var flag = 1;

   foreach (var partialmessage in partialMessagesList)

   {

      if (message.Contains(partialmessage))

      {

        flag = 0;

        break;

      } 

   }


   if (flag == 1)

   {

      unknownFruites.Add(message);

   }

}                  


慕莱坞森
浏览 197回答 2
2回答

德玛西亚99

var unknownFruites = fullMessagesList.Where(&nbsp; &nbsp; message => !partialMessagesList.Any(&nbsp; &nbsp; &nbsp; &nbsp; p => message.IndexOf(p, StringComparison.InvariantCultureIgnoreCase) >= 0&nbsp; &nbsp; ));此代码的英文解释是“在部分消息列表中选择消息不包含任何字符串的所有消息”。
打开App,查看更多内容
随时随地看视频慕课网APP