2013-04-02 2 views
0

Я это стриг []:Turn строка [] в список <KeyValuePair <int, string>>

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

и в чем проблема? – wRAR

+0

Как это превратится в пару int, string? Что такое целочисленная часть? – Paddy

+0

Непонятно, чего вы пытаетесь достичь. –

ответ

2

Это то, что вы ищете:

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 является алфавит.

ИЛИ

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

;

+0

Да, я не мог объяснить себя правильно. Это то, чего я хотел. – Leron

Смежные вопросы