我有一个清单
List<String> versionList = new List<String> {"version1", "version2", "version3"}
我希望将mygaList与List 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
}
我的问题与标记为重复的问题有所不同,因为如果它包含来自versionList的任何项目,我想匹配megalist中的特定项目,如果我混淆了问题,请道歉。
另外,根据一式两份的问题答案和下面的答案
我该如何完成这个
foreach (var m in MegaList)
.Where(v => versionList.Contains(m => m.list.Version))
当我这样做时,在这个命令中无法访问m,这就是我被困住的地方,因为我必须匹配Megalist中每个项目中的列表版本。
需求的简单说明
用简单的术语解释一下,MegaList是一个正在运行的程序列表,我通过将它与versionList匹配来检查这个正在运行的程序列表,如果正在运行的程序与versionList匹配则只执行代码,因此我想要将Megalist列表的版本与versionList匹配,
答案 0 :(得分:2)
这基本上得到MegaList
中的每条记录,该记录也包含在versionList
中。在这种情况下,x
是MegaList
中的值,因此我们在List<>.Contains()
上使用versionList
值进行简单的x
。
foreach (var m in MegaList.Where(x => versionList.Contains(x.ToLower())))
{
// do some action
}
答案 1 :(得分:0)
你可以试试这个:
foreach (var m in MegaList.Where(i => versionList.Contains(i.ToLower()))
{
// do some action
}