将string []转换为List <keyvaluepair <int,string =“”>&gt; </keyvaluepair <int,>

时间:2013-04-02 09:59:44

标签: c# list data-structures

我有这个strig []:

string[] SkippedAreasArray = new string[] {"A", "B", "C", "D", "E", "F", "G",
            "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"};

我想把它变成:

 List<KeyValuePair<int, string>>  SkippedAreasArray  = ???

我没有使用过这个List<KeyValuePair<int, string>>数据结构。所以我不得不质疑如果我把它转换为List<KeyValuePair<int, string>>(如何定义它?)我的字符串数组是什么样的。而且 - 我的逻辑很大程度上取决于我使用简单string[]时容易采用的索引。使用List<KeyValuePair<int, string>>的想法是,我可能需要使用"A1""B1""B2"等值,我理解List<KeyValuePair<int, string>>是更好的数据结构在我需要的时候添加那些,但是我可以保持元素的正确索引吗?

1 个答案:

答案 0 :(得分:3)

这就是你要找的东西:

string[] SkippedAreasArray = new string[] {"A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"};
Dictionary<int,string> dictionary =
                 SkippedAreasArray.Select((r, i) => new { value = r, index = i })
                 .ToDictionary(t => t.index, t => t.value);

其中key是索引,value是字母表。

OR

List<KeyValuePair<int, string>> list =
    SkippedAreasArray.Select((r, index) => new KeyValuePair<int,string>(index, r))
    .ToList()