-3

嗨,我不会说英语,如果让你感到困惑,请原谅我。

在 c# 中,我有 3 个字符串列表。

list_one:文件地址列表。

list_two:使用list_one制作的 MD5 列表。

list_three:使用list_two制作的 MD5 列表,但在此列表中,我从list_two收集重复项

问题

如何获取 list_three 中的每个项目并在 list_two 中搜索然后返回该索引。

但我不喜欢使用 for 或 foreach 因为这会减慢我的应用程序。

如何使用 linq 或 lambda 或任何最快的方式来做到这一点。

我的清单图片

4

1 回答 1

0

No 1foeach并不慢。但是要回答你想要的很简单,就像这样。

using System.Linq;  

List<string> list = new List<string>{"a","b","c","d"};
List<string> list2 = new List<string>{"a","c"};  

var result = list.Select((a, b) => new {Value = a, Index = b})
              .Where(x => list2.Any(d => d == x.Value))
              .Select(c => c.Index).ToArray();

现在result包含所有匹配索引。小提琴

于 2020-07-17T17:01:26.933 回答