Сохранить данные в SortedDictionary с помощью файла ресурсов (TXT)

1

У меня есть файл txt, сохраненный в файле ресурсов (*.resx) с некоторой информацией:

    23,TRUNK-1,Trunk-1,,[Barry_Boehm]   
    24,TRUNK-2,Trunk-2,,[Barry_Boehm]   
    25,LEAF-1,Leaf-1,,[Barry_Boehm] 
    26,LEAF-2,Leaf-2,,[Barry_Boehm] 
    136,UDPLite,,,[RFC3828] 

... и хотите сохранить первую и вторую запись в SortedDictionary:

    23,TRUNK-1  
    24,TRUNK-2  
    25,LEAF-1
    26,LEAF-2
    136,UDPLite

public static SortedDictionary<UInt16, string> xTypes = new SortedDictionary<UInt16, string>();

String[] rows = Regex.Split(Resources.ProTypes.ProTypesSource, "\r\n");

foreach (var i in rows)
{
    String[] words = i.Split(new[] { ',' });

    ...

    xTypes.Add(proNumber, proName);
}

Как я могу это сделать?

  • 2
    xTypes.Add(UInt16.Parse(words[0]), words[1]); ?
  • 0
    Я думал, что может быть лучшее / более быстрое решение. Спасибо всем :)
Теги:
dictionary

3 ответа

1
Лучший ответ
public static SortedDictionary<UInt16, string> xTypes = new SortedDictionary<UInt16, string>();

String[] rows = Regex.Split(Resources.ProTypes.ProTypesSource, "\r\n");

foreach (var i in rows){
    String[] words = i.Split(new[] { ',' });
    xTypes.Add(UInt16.Parse(words[0]), words[1]);
}
1

Кажется, вы сделали почти все:

foreach (var i in rows)
{
    String[] words = i.Split(new[] { ',' });

    UInt16 proNumber= UInt16.Parse(words[0]);
    string  proName=words[1];

    xTypes.Add(proNumber, proName);
}
1

Вы можете сделать это следующим образом:

        SortedDictionary<UInt16, string> xTypes = new SortedDictionary<UInt16, string>();

        String[] rows = Regex.Split("23,TRUNK-1,Trunk-1,,[Barry_Boehm]", "\r\n");

        foreach (var i in rows)
        {
            String[] words = i.Split(new[] { ',' });

            UInt16 proNumber = Convert.ToUInt16(words[0]);
            string proName = words[1];

            xTypes.Add(proNumber, proName);
        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню