我有这个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>>
是更好的数据结构在我需要的时候添加那些,但是我可以保持元素的正确索引吗?
答案 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()