C#2字符串数组到List <string,string>

0 c#

假设2个字符串数组的长度相同而且不是空的,我如何制作内容列表?

我有一个字典工作,但现在我需要能够使用重复键,所以我求助于一个列表.

string[] files = svd.file.Split(",".ToCharArray());
string[] references = svd.references.Split(",".ToCharArray());

Dictionary<string, string> frDictionary = new Dictionary<string, string>();

frDictionary = files.Zip(rReferences, (s, i) => new { s, i })
.ToDictionary(item => item.s, item => item.i);
Run Code Online (Sandbox Code Playgroud)

我可以这样做:

List<string, string> jcList = new List<string, string>();
Run Code Online (Sandbox Code Playgroud)

然后只是在两个数组中有一个双循环,但我知道必须存在更快的方法.

spe*_*der 12

ILookup<string,string> myLookup = 
    files.Zip(rReferences, (s, i) => new { s, i })
         .ToLookup(item => item.s, item => item.i);
Run Code Online (Sandbox Code Playgroud)

将创建一个Dictionary类似于每个键允许多个值的结构.

所以

IEnumerable<string> foo = myLookup["somestring"];
Run Code Online (Sandbox Code Playgroud)