Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何匹配另一个列表中列表元素的子字符串?_C#_Linq_Lambda - Fatal编程技术网

C# 如何匹配另一个列表中列表元素的子字符串?

C# 如何匹配另一个列表中列表元素的子字符串?,c#,linq,lambda,C#,Linq,Lambda,出于某种原因,我似乎无法使用Lambda解决这个问题,我可以使用循环,但我更愿意在Lambda中学习 我有两张单子。我试图在第一个列表的任何字符串中找到第二个列表中的字符串 [Test] public void CheckInsideList() { var mainList = new List<string>() { "looking_for_specific_word", "has_specific_word", "doesnt_have_word" }; va

出于某种原因,我似乎无法使用Lambda解决这个问题,我可以使用循环,但我更愿意在Lambda中学习

我有两张单子。我试图在第一个列表的任何字符串中找到第二个列表中的字符串

[Test]
public void CheckInsideList()
{
    var mainList = new List<string>() { "looking_for_specific_word", "has_specific_word", "doesnt_have_word" };
    var reservedList = new List<string>() { "specific", "Bob", "Loblaws" };

    //var returnValue = mainList.Where(d => d.Contains(reservedList));
    Assert.Greater(returnValue.Count, 0);
}
我不确定是否应该使用Contains或IndexOf


我期待着回来寻找特定的单词,并从主列表中找到特定的单词。

我想你想要的是:

mainList.Where(m => reservedList.Any(r => m.Contains(r));

我想你想要的是:

mainList.Where(m => reservedList.Any(r => m.Contains(r));
您可以使用任何+包含:

1a

这与:

1b

或与IndexOf一起允许比较不区分大小写:

二,

您可以使用任何+包含:

1a

这与:

1b

或与IndexOf一起允许比较不区分大小写:

二,

试试这个:-

var result = mainList.Where(x => reservedList.Any(z => x.Contains(z)));
.

试试这个:-

var result = mainList.Where(x => reservedList.Any(z => x.Contains(z)));

.

var returnValue=mainList.Whered=>reservedList.Containsd;示例字符串建议您查找匹配的单词,而不是子字符串。小波比桌子匹配吗?我会同意你的小波比桌子的例子。我认为Ant P相应地更新了我的标题?var returnValue=mainList.Whered=>reservedList.Containsd;示例字符串建议您查找匹配的单词,而不是子字符串。小波比桌子匹配吗?我会同意你的小波比桌子的例子。我想Ant P相应地更新了我的标题?我试图找到reservedList中包含字符串的情况mainList@Lareau你确定吗?您的问题使您看起来像是在试图查找reservedList中的字符串包含在mainList元素中的情况。如果不是这样,您应该澄清。@Lareau您希望reservedList中的整个字符串与mainList中的整个字符串匹配,还是只接受部分匹配?在OP中显示您期望的结果可能会很有用。@Lareau此代码段给出了该结果。我正在尝试查找reservedList中包含字符串的情况mainList@Lareau你确定吗?您的问题使您看起来像是在试图查找reservedList中的字符串包含在mainList元素中的情况。如果不是这样,您应该澄清。@Lareau您希望reservedList中的整个字符串与mainList中的整个字符串匹配,还是只接受部分匹配?在OP中显示您期望的结果可能会很有用。@Lareau此代码段给出了该结果。
var result = mainList.Where(x => reservedList.Any(z => x.Contains(z)));