匹配List的Lambda表达式

本文关键字:Lambda 表达式 string List 匹配 | 更新日期: 2023-09-27 18:11:23

我有一个列表

List<String> versionList = new List<String> {"version1", "version2", "version3"}

我想让我的megaList与列表versionList中的每个项目相匹配,如果versionList中的任何一个项目与megaList中的项目相匹配,那么它将执行一些操作。

我应该使用什么lambda表达式来完成它?

编辑编辑给出具体要求

foreach (var m in MegaList)        
    .Where(m => m.list.Version.ToLower().Contains(
                           <What should I put here to match this m.list.Version 
                           to match each item in versionList>)) ) //confused here
{
// do some action
}

我的问题与标记为重复的问题不同,因为我想匹配megalist中的特定项目,如果它包含来自versionList的任何项目,如果我混淆了问题,请道歉。

同样按照两个问题的答案和下面的答案

我该怎么做呢

foreach (var m in MegaList)  
.Where(v => versionList.Contains(m => m.list.Version))

当我做上面的m在这个命令中是不可访问的,这就是我被困的地方,因为我必须在Megalist的每个项目中匹配列表的版本。

需求简单说明

用简单的术语来解释这一点,MegaList是一个正在运行的程序列表,我通过将它与versionList匹配来检查这个正在运行的程序列表,如果运行的程序与versionList匹配,那么只有代码应该被执行,因此我想将MegaList列表的版本与versionList匹配,

匹配List<string>的Lambda表达式

这基本上获得MegaList中也包含在versionList中的每条记录。在这种情况下,xMegaList中的一个值,因此我们使用x值在versionList上执行简单的List<>.Contains()

foreach (var m in MegaList.Where(x => versionList.Contains(x.ToLower()))) 
{
// do some action
}

你可以试试:

foreach (var m in MegaList.Where(i => versionList.Contains(i.ToLower())) 
{
// do some action
}