我有 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); } }}
3 回答
![?](http://img1.sycdn.imooc.com/5458692c00014e9b02200220-100-100.jpg)
幕布斯7119047
TA贡献1794条经验 获得超8个赞
- 3 回答
- 0 关注
- 190 浏览
添加回答
举报
0/150
提交
取消