2015-08-13 102 views
0

如何獲取:VB.NET操縱陣列來解析

a 1 
b 1 
c 1 
e 2 
f 2 
c 2 
b 3 
c 3 
f 3 
a 4 
b 4 
c 4 

到這一點:

a 1,4 
b 1,3,4 
c 1,2,3,4 
e 2 
f 2,3 

我現在存儲在2 diemnsional陣列中的數據。 但是我仍然需要能夠在解析它們之後獲得單個數字。 例如在一個我需要能夠去得到項目1和4的一些更多的數據,做一些數學,並將它放入這樣的另一列:

a 1,4  36 
b 1,3,4  98 
c 1,2,3,4 23 
e 2   45 
f 2,3  12 

編輯: 我應該注意在2列中,我使用可變長度的數字。由於我想清楚表明我需要什麼,所以對這些信件的混淆感到抱歉。

回答

0

(在C#中因爲我不喜歡VB的語法爲仿製藥,但它仍然應該相互理解):

概念你映射的每個字符與整數的越來越多,你的問題沒有按」如果保留訂單很重要,但我認爲它是(但如果不是,只需使用HashSet<T>而不是List<T>)。

我假設你的輸入數據列表已經構造成一個元組(Pair<Char,Int32>)。

Dictionary< Char, List<Int32> > map = new Dictionary< Char, List<Int32> >(); 
foreach(Pair<Char,Int32> entry in input) { 
    Char c = entry.First; 
    if(!map.ContainsKey(c)) { 
     map.Add(c, new List<Int32>()); 
    } 
    map[ c ].Add(entry.Second); 
} 
+0

我應該可以配對正確嗎? (請參閱上面的編輯) – Strong

+0

在完成此任務後,還有關於添加另一列數據(上面的數學機器人)的任何想法? – Strong