2014-08-28 2 views
1

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

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 (слова [0]), слова [1]); –

+0

Я думал, что может быть лучшее/быстрое решение. Спасибо всем :) – Stampy

ответ

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

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

 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); 
     } 
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); 
}