我有 2 个列表。一个包含搜索元素,一个包含数据。我需要循环 list2 中的每个元素,其中包含 list1 中的任何字符串(“cat”或“dog”)。举些例子:
List<string> list1 = new List<string>();
list1.Add("Cat");
list1.Add("Dog");
list1.Add... ~1000 items;
List<string> list2 = new List<string>();
list2.Add("Gray Cat");
list2.Add("Black Cat");
list2.Add("Green Duck");
list2.Add("White Horse");
list2.Add("Yellow Dog Tasmania");
list2.Add("White Horse");
list2.Add... ~million items;
我的期望是listResult: {"Gray Cat", "Black Cat", "Yellow Dog Tasmania"}(因为它在 list1 中包含“cat”和“dog”)。除了嵌套循环,您是否有任何想法让序列运行得更快?
我目前的解决方案如下。但是......似乎太慢了:
foreach (string str1 in list1)
{
foreach (string str2 in list2)
{
if str2.Contains(str1)
{
listResult.Add(str2);
}
}
}
幕布斯7119047
相关分类