C# 如何匹配另一个列表中列表元素的子字符串?
出于某种原因,我似乎无法使用Lambda解决这个问题,我可以使用循环,但我更愿意在Lambda中学习 我有两张单子。我试图在第一个列表的任何字符串中找到第二个列表中的字符串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
[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)));